第一章已经使得我们可以使用react脚手架开始编写项目了,但是,其实我们深入考虑,我们还欠缺了很多东西,比如css样式,image图片,分离打包,文件压缩等。
现在,我们来解决一下这些问题
在项目中使用sass
1 | // 首先安装依赖 |
1.打开webpack.config.common.js
1 | // 在rules里面,我们再添加一个对象,用来解决sass编译问题 |
这样子我们就可以在项目里面使用sass了,但是,我门应该再可考虑一个问题,那就是css3浏览器兼容问题以及css,js分离打包的问题
2.首先我们先安装一下依赖
1 | npm install --save-dev postcss-loader mini-css-extract-plugin autoprefixer |
3.我们修改一下webpack.config.common.js里面的配置
1 | 引入mini-css-extract-plugin |
这样,我们就可以愉快的使用sass了,并且可以实现css以及js分离打包
我们再来解决图片的问题
1 | npm install url-loader --save-dev |
我们修改一下webpack.config.common.js里面的配置1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17{
test: /\.(png|jpg|jpeg|gif)$/,
use: [
{
loader: "url-loader",
options: {
//文件名称
name: devMode ? "[name].[ext]":"[name]-[hash:5].min.[ext]",
limit: 20000, // size <= 20KB
//图片访问路径
publicPath: devMode ? "./images/":"./static/images",
//图片输出位置
outputPath: "static/images/"
}
}
]
}
antd的使用
前面我们安装了antd,但是我们一直没有使用,主要是使用antd,我们需要配置按需加载。接下来,我们解决一下这个问题
1.在config/webpack下建立ts-import-plugin.js
1 | 首先安装依赖 |
2.打开webpack.config.common.js
1 | const tsImportPluginFactory = require('./ts-import-plugin'); |
这样的话,我们基本上就完成了基于react-antd-typescript的脚手架搭建了。
但是,我们还少做了一些步骤。当我们在页面引用antd的组件的时候,运行react项目,会报错,报错的信息基本上是来源于less的问题。所以,我们继续解决一下这个问题1
2npm install less-loader less@2.7.3 --save-dev
// 这里说一下为什么需要指定less版本,由于在高版本的less上,运行antd组件的时候会报错,所以我们需要把less的版本降下来才可以
再修改一下webpack.config.common.js里面的内容1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19{
test:/\.less$/,
use:[
{
loader: MiniCssExtractPlugin.loader,
options: {
hmr: devMode,
//如果热更新没有执行的话,可以使用下面的reloadAll
reloadAll:true,
},
},
{
loader:'css-loader'
},
{
loader:'less-loader'
}
]
},
这样,项目基本上就可以使用antd组件了
扫描二维码,分享此文章