在 vue CLI 中从 webpack 副本中排除目录

问题描述 投票:0回答:2

我有一个使用 Vue CLI 5.0.1 制作的 Vue3 项目

我的设置有一个公共文件夹,其中有我需要提供的静态资源,但它非常重(1GB 资源),因此当我启动

npm run serve
命令时,构建会卡在
[92%] sealing (asset processing copy-webpack-plugin)
上。

我需要从 copy-webpack-plugin 中排除 public/resources 目录。

我尝试在 vue.config.js 中添加以下配置:

    chainWebpack: (config) => {
    config.plugin("copy").tap(([options]) => {
      options[0].ignore.push("resources/**");
      return [options];
    });
 }

但我收到此错误:

 ERROR  TypeError: Cannot read property 'ignore' of undefined

javascript vue.js vue-cli
2个回答
0
投票

这个问题已在 Github 上得到解答

选项格式已更改,因此您需要修改代码如下:

chainWebpack: (config) => {
  config.plugin("copy").tap(([options]) => {
    options.patterns[0].globOptions.ignore.push("resources/**");
    return [options];
  });
}

0
投票

我尝试了在 Google 上找到的所有解决方案,但没有任何方法可以通过修改 vue.config.js 在构建时排除文件。

我最终使用 rimraf 从构建后的 dist 文件夹中删除文件:

npm 安装 rimraf --save-dev

在 package.json 中设置如下:

"scripts": {
 "build": "vue-cli-service build && npm run remove-files",
 "remove-files": "rimraf dist/somefile.js dist/anotherfile.css"
}
© www.soinside.com 2019 - 2024. All rights reserved.