LewisRoc 2023-08-31 11:37 采纳率: 60%
浏览 33
已结题

Vue项目中vue.config.js打包配置

最近维护一个Vue前端项目,发现每次编辑完代码保存之后会在 node_modules.cache\babel-loader或\node_modules.cache\eslint-loader路径下生成许多 不知名的文件,一个个删或重置很麻烦不知道怎么去掉这些文件啊,怀疑是vue.config.js中配置打包的问题,但不会配,不知道应该怎么改,有没有会webpack配置的帮忙指点指点感谢啦
这是生成的文件:

img

img

img

下边是 vue.config.js中的配置

module.exports = {
  publicPath: process.env.NODE_ENV === "production" ? "/xx" : "/xxx",
  assetsDir: 'static',
  lintOnSave: process.env.NODE_ENV === 'development',
  productionSourceMap: false,
  devServer: {
    host: '0.0.0.0',
    port: port,
    open: true,
    proxy: {
      [process.env.VUE_APP_BASE_API]: {
        target: `http://228.xx.xx.xx:xxxx/`,
        changeOrigin: true,
        pathRewrite: {
          ['^' + process.env.VUE_APP_BASE_API]: ''
        }
      }
    },
    disableHostCheck: true
  },
  configureWebpack: {
    name: name,
    resolve: {
      alias: {
        '@': resolve('src')
      }
    }
  },
  chainWebpack(config) {
    config.plugins.delete('preload');
    config.plugins.delete('prefetch');
    config.entry('polyfill').add('@babel/polyfill');
    config.module
      .rule('svg')
      .exclude.add(resolve('src/assets/icons'))
      .end();
    config.module
      .rule('icons')
      .test(/\.svg$/)
      .include.add(resolve('src/assets/icons'))
      .end()
      .use('svg-sprite-loader')
      .loader('svg-sprite-loader')
      .options({
        symbolId: 'icon-[name]'
      })
      .end();

    config
      .when(process.env.NODE_ENV !== 'development',
        config => {
          config
            .plugin('ScriptExtHtmlWebpackPlugin')
            .after('html')
            .use('script-ext-html-webpack-plugin', [{
              inline: /runtime\..*\.js$/
            }])
            .end();
          config
            .optimization.splitChunks({
              chunks: 'all',
              cacheGroups: {
                libs: {
                  name: 'chunk-libs',
                  test: /[\\/]node_modules[\\/]/,
                  priority: 10,
                  chunks: 'initial' 
                },
                elementUI: {
                  name: 'chunk-elementUI',
                  priority: 20, 
                  test: /[\\/]node_modules[\\/]_?element-ui(.*)/ 
                },
                commons: {
                  name: 'chunk-commons',
                  test: resolve('src/components'),
                  minChunks: 3,
                  priority: 5,
                  reuseExistingChunk: true
                }
              }
            });
          config.optimization.runtimeChunk('single')
        }
      )
  }
};

  • 写回答

2条回答 默认 最新

  • 孤月葬花魂 2023-08-31 16:44
    关注

    node_modules是项目依赖文件,里边的文件最好不要动
    直接在git忽略文件里忽略调这个文件夹

    `.gitignore` 这个文件
    
    写入下边的代码
    node_modules
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月8日
  • 已采纳回答 8月31日
  • 创建了问题 8月31日