如何用原生的react,webpack,es6来使用蚂蚁金服的ant design组件库
2018-07-31 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
1.准备:
npm安装以下组件
a.安装react/antd:
npm install react react-dom antd --save
b.安装webpack/less:
npm install webpack less --save-dev
webpack根据需要选择使用-g安装
c.安装babel-loader以及其他相关package:
npm install babel-loader babel-core babel-preset-es2015 babel-preset-react --save-dev
d.选择安装style-loader/css-loader
npm install style-loader css-loader --save-dev
2. 配置webpack.config.js
具体配置可以查看webpack提供的例子,主要依赖的是babel-loader
babel-loader上也有webpack.config.js应该如何编写的例子,传送门: babel-loader
3. 编写我们的文件(例如: demo-antd.jsx)
只使用了antd提供的Button组件。只使用了antd提供的Button组件。
ps: 对比
import { Button } from 'antd';
和
import Button from 'antd/lib/button';
后者不会将antd中所有的内容都引入,如果你只是需要Button这么一种组件的话,推荐使用后一种写法。
4. 执行构建
webpack ./demo-antd.jsx demo-antd-bundle.js
将生成demo-antd-bundle.js文件
5. 在页面中引入bundle文件(demo-antd-bundle.js)
执行到这一步,在浏览器中查看页面可以应该可以看到一个原生样式的button元素,因为antd并没有将样式使用内联style的方式写入js文件中。
这里我们暂时将问题一搁置,来看看问题二:组件库的内部机制。
因为没有深入去看过antd的源代码,没法详细说明antd的在代码编写上的一些....怎么说,就是『代码为什么这样写』这个问题,有兴趣的话,可以去查看源码,正如 @陈吉浩 所说,查看github上的代码比npm下载后的代码更舒服。
npm安装以下组件
a.安装react/antd:
npm install react react-dom antd --save
b.安装webpack/less:
npm install webpack less --save-dev
webpack根据需要选择使用-g安装
c.安装babel-loader以及其他相关package:
npm install babel-loader babel-core babel-preset-es2015 babel-preset-react --save-dev
d.选择安装style-loader/css-loader
npm install style-loader css-loader --save-dev
2. 配置webpack.config.js
具体配置可以查看webpack提供的例子,主要依赖的是babel-loader
babel-loader上也有webpack.config.js应该如何编写的例子,传送门: babel-loader
3. 编写我们的文件(例如: demo-antd.jsx)
只使用了antd提供的Button组件。只使用了antd提供的Button组件。
ps: 对比
import { Button } from 'antd';
和
import Button from 'antd/lib/button';
后者不会将antd中所有的内容都引入,如果你只是需要Button这么一种组件的话,推荐使用后一种写法。
4. 执行构建
webpack ./demo-antd.jsx demo-antd-bundle.js
将生成demo-antd-bundle.js文件
5. 在页面中引入bundle文件(demo-antd-bundle.js)
执行到这一步,在浏览器中查看页面可以应该可以看到一个原生样式的button元素,因为antd并没有将样式使用内联style的方式写入js文件中。
这里我们暂时将问题一搁置,来看看问题二:组件库的内部机制。
因为没有深入去看过antd的源代码,没法详细说明antd的在代码编写上的一些....怎么说,就是『代码为什么这样写』这个问题,有兴趣的话,可以去查看源码,正如 @陈吉浩 所说,查看github上的代码比npm下载后的代码更舒服。
展开全部
1.准备:
npm安装以下组件
a.安装react/antd:
npm install react react-dom antd --save
b.安装webpack/less:
npm install webpack less --save-dev
webpack根据需要选择使用-g安装
c.安装babel-loader以及其他相关package:
npm install babel-loader babel-core babel-preset-es2015 babel-preset-react --save-dev
d.选择安装style-loader/css-loader
npm install style-loader css-loader --save-dev
2. 配置webpack.config.js
具体配置可以查看webpack提供的例子,主要依赖的是babel-loader
babel-loader上也有webpack.config.js应该如何编写的例子,传送门: babel-loader
3. 编写我们的文件(例如: demo-antd.jsx)
只使用了antd提供的Button组件。只使用了antd提供的Button组件。
ps: 对比
import { Button } from 'antd';
和
import Button from 'antd/lib/button';
后者不会将antd中所有的内容都引入,如果你只是需要Button这么一种组件的话,推荐使用后一种写法。
4. 执行构建
webpack ./demo-antd.jsx demo-antd-bundle.js
将生成demo-antd-bundle.js文件
5. 在页面中引入bundle文件(demo-antd-bundle.js)
执行到这一步,在浏览器中查看页面可以应该可以看到一个原生样式的button元素,因为antd并没有将样式使用内联style的方式写入js文件中。
这里我们暂时将问题一搁置,来看看问题二:组件库的内部机制。
因为没有深入去看过antd的源代码,没法详细说明antd的在代码编写上的一些....怎么说,就是『代码为什么这样写』这个问题,有兴趣的话,可以去查看源码,查看github上的代码比npm下载后的代码更舒服。
npm安装以下组件
a.安装react/antd:
npm install react react-dom antd --save
b.安装webpack/less:
npm install webpack less --save-dev
webpack根据需要选择使用-g安装
c.安装babel-loader以及其他相关package:
npm install babel-loader babel-core babel-preset-es2015 babel-preset-react --save-dev
d.选择安装style-loader/css-loader
npm install style-loader css-loader --save-dev
2. 配置webpack.config.js
具体配置可以查看webpack提供的例子,主要依赖的是babel-loader
babel-loader上也有webpack.config.js应该如何编写的例子,传送门: babel-loader
3. 编写我们的文件(例如: demo-antd.jsx)
只使用了antd提供的Button组件。只使用了antd提供的Button组件。
ps: 对比
import { Button } from 'antd';
和
import Button from 'antd/lib/button';
后者不会将antd中所有的内容都引入,如果你只是需要Button这么一种组件的话,推荐使用后一种写法。
4. 执行构建
webpack ./demo-antd.jsx demo-antd-bundle.js
将生成demo-antd-bundle.js文件
5. 在页面中引入bundle文件(demo-antd-bundle.js)
执行到这一步,在浏览器中查看页面可以应该可以看到一个原生样式的button元素,因为antd并没有将样式使用内联style的方式写入js文件中。
这里我们暂时将问题一搁置,来看看问题二:组件库的内部机制。
因为没有深入去看过antd的源代码,没法详细说明antd的在代码编写上的一些....怎么说,就是『代码为什么这样写』这个问题,有兴趣的话,可以去查看源码,查看github上的代码比npm下载后的代码更舒服。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这种配置方式和你的可能有点不同,仅作参考dev.config.js部分varpath=require('path');varwebpack=require('webpack');varExtractTextPlugin=require('extract-text-webpack-plugin');varautoprefixer=require('autoprefixer');varcsswring=require('csswring');module.exports={devtool:'cheap-module-eval-source-map',entry:['webpack-hot-middleware/client','./src/index',],output:{filename:'bundle.js',path:path.join(__dirname,'/dist/'),publicPath:'/dist/',},plugins:[newwebpack.DefinePlugin({__DEVELOPMENT__:true}),newExtractTextPlugin('bundle.css'),newwebpack.optimize.OccurenceOrderPlugin(),newwebpack.HotModuleReplacementPlugin(),newwebpack.NoErrorsPlugin(),newwebpack.ProvidePlugin({jQuery:'jquery',}),],resolve:{extensions:['','.jsx','.js','.json'],modulesDirectories:['node_modules','src'],},module:{loaders:[{test:/bootstrap\/js\//,loader:'imports?jQuery=jquery',},{test:/\.woff(\?v=\d+\.\d+\.\d+)?$/,loader:'url?limit=10000&mimetype=application/font-woff',},{test:/\.woff2(\?v=\d+\.\d+\.\d+)?$/,loader:'url?limit=10000&mimetype=application/font-woff2',},{test:/\.ttf(\?v=\d+\.\d+\.\d+)?$/,loader:'url?limit=10000&mimetype=application/octet-stream',},{test:/\.otf(\?v=\d+\.\d+\.\d+)?$/,loader:'url?limit=10000&mimetype=application/font-otf',},{test:/\.eot(\?v=\d+\.\d+\.\d+)?$/,loader:'file',},{test:/\.svg(\?v=\d+\.\d+\.\d+)?$/,loader:'url?limit=10000&mimetype=image/svg+xml',},{test:/\.js$/,loaders:['react-hot','babel?stage=0&loose[]=es6.modules'],exclude:/node_modules/,},{test:/\.scss$/,loader:'css?localIdentName=[path]!postcss-loader!sass',},{test:/\.png$/,loader:'file?name=[name].[ext]',},{test:/\.jpg$/,loader:'file?name=[name].[ext]',}],},postcss:function(){return[autoprefixer({browsers:['last2versions','safari5','ie9','ios6','android4']}),csswring];},};prod.config,js部分varpath=require('path');varwebpack=require('webpack');varExtractTextPlugin=require('extract-text-webpack-plugin');varautoprefixer=require('autoprefixer');varcsswring=require('csswring');module.exports={devtool:'source-map',entry:['./src/index',],output:{filename:'bundle.js',path:path.join(__dirname,'../dist/'),publicPath:'dist/',},plugins:[newwebpack.DefinePlugin({'process.env':{NODE_ENV:'"production"',},__DEVELOPMENT__:false,}),newExtractTextPlugin('bundle.css'),newwebpack.optimize.DedupePlugin(),newwebpack.optimize.OccurenceOrderPlugin(),newwebpack.optimize.UglifyJsPlugin({compress:{warnings:false,},}),newwebpack.ProvidePlugin({jQuery:'jquery',}),],resolve:{extensions:['','.jsx','.js','.json'],modulesDirectories:['node_modules','src'],},module:{loaders:[{test:/bootstrap\/js\//,loader:'imports?jQuery=jquery',},{test:/\.woff(\?v=\d+\.\d+\.\d+)?$/,loader:'url?limit=10000&mimetype=application/font-woff',},{test:/\.woff2(\?v=\d+\.\d+\.\d+)?$/,loader:'url?limit=10000&mimetype=application/font-woff2',},{test:/\.ttf(\?v=\d+\.\d+\.\d+)?$/,loader:'url?limit=10000&mimetype=application/octet-stream',},{test:/\.otf(\?v=\d+\.\d+\.\d+)?$/,loader:'url?limit=10000&mimetype=application/font-otf',},{test:/\.eot(\?v=\d+\.\d+\.\d+)?$/,loader:'file',},{test:/\.svg(\?v=\d+\.\d+\.\d+)?$/,loader:'url?limit=10000&mimetype=image/svg+xml',},{test:/\.js$/,loaders:['react-hot','babel?stage=0&loose[]=es6.modules'],exclude:/node_modules/,},{test:/\.scss$/,loader:'css!postcss-loader!sass',},{test:/\.png$/,loader:'file?name=[name].[ext]',},{test:/\.jpg$/,loader:'file?name=[name].[ext]',}],},postcss:function(){return[autoprefixer({browsers:['last2versions','safari5','ie9','ios6','android4']}),csswring];},};
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询