一、使用场景
在项目中有时候需要保留一些文件不被编译压缩,比如一些配置文件,我们需要在打包后仍然可以更改配置文件并生效。
这时候我们可以通过webpack的插件copy-webpack-plugin,保留某一文件夹下的的所有文件。
二、使用方式
- 安装插件
cnpm install --save-dev copy-webpack-plugin
-
在项目下新建一个文件夹用于存储不想被编译的文件,如‘static’。
image.png - 修改webpack配置文件
// 在头部引入插件
const CopyWebpackPlugin = require('copy-webpack-plugin');
// 在plugins配置数组中添加一项
plugins: [
new CopyWebpackPlugin([
{
from: path.resolve(__dirname, './static'),
to: 'static',
ignore: ['.*']
}
])
]
from配置的是不被压缩的文件夹的位置(相对于配置文件来说的位置),本例中webpack配置文件与静态资源文件夹均在项目根目录下。to属性配置的是打包后静态资源文件夹里的文件被放到打包文件夹下的隶属文件夹名。
4.打包后的截图
image.png
三、注意事项
static目录下的文件不可通过require或者import的方式引入文件,否则该文件就会参与打包。可以通过http请求静态资源的方式,如下例:
import axios from 'axios'
axios.get('static/data.json').then(res => {
if (res.status === 200) {
this.list = res.data
}
})
网友评论