liulijun
2025-11-17 da4257bc32483409af02a06dd342c6981ec786ec
ÏîÄ¿´úÂë/BigScreen/vue.config.js
@@ -1,129 +1,16 @@
/*
 * @Author: daidai
 * @Date: 2021-11-22 14:57:15
 * @LastEditors: Please set LastEditors
 * @LastEditTime: 2022-04-29 15:12:50
 */
const path = require("path");
function resolve(dir) {
  return path.join(__dirname, dir);
const path = require('path')
const resolve = dir => {
  return path.join(__dirname, dir)
}
module.exports = {
  publicPath: './',
  outputDir: process.env.VUE_APP_outputDir || 'dist',
  assetsDir: 'static',
  filenameHashing: true,
  lintOnSave: false,
  runtimeCompiler: false,
  transpileDependencies: [],
  productionSourceMap: false,
  css: {
    // æ˜¯å¦ä½¿ç”¨css分离插件 ExtractTextPlugin
    extract: process.env.NODE_ENV === "production" ? true : false,//是否将组件中的 CSS æå–至一个独立的 CSS æ–‡ä»¶ä¸­ (而不是动态注入到 JavaScript ä¸­çš„ inline ä»£ç )。
    sourceMap: false,//是否为 CSS å¼€å¯ source map。设置为 true ä¹‹åŽå¯èƒ½ä¼šå½±å“æž„建的性能。
    loaderOptions: {
      sass: {
        prependData: `@import "@/assets/css/variable.scss";`
      }
    },
    requireModuleExtension: true,
  devServer:{
    host:'0.0.0.0',
    port:8090
  },
  chainWebpack: (config) => {
    // é…ç½®åˆ«å
  chainWebpack: config => {
    config.resolve.alias
      .set('@', resolve('src'))
      .set('assets', resolve('src/assets'))
      .set('assetsBig', resolve('src/pages/big-screen/assets'))
      .set('components', resolve('src/components'))
      .set('views', resolve('src/views'))
      .set('api', resolve('src/api'))
      .set('lib', resolve('src/lib'))
    if (process.env.NODE_ENV === "production") {
      // åˆ é™¤ç³»ç»Ÿé»˜è®¤çš„splitChunk
      config.optimization.delete("splitChunks");
    }
    // åˆ é™¤é¢„加载
    //  // ç§»é™¤ prefetch  æ’ä»¶
    //  config.plugins.delete('prefetch-index')
    //  // ç§»é™¤ preload æ’ä»¶
    //  config.plugins.delete('preload-index');
    //   config.optimization.minimizer('terser').tap((args) => {
    //     // åŽ»é™¤ç”Ÿäº§çŽ¯å¢ƒconsole
    //     args[0].terserOptions.compress.drop_console = true
    //     return args
    //   })
      .set('_c', resolve('src/components')) // key,value自行定义,比如.set('@@', resolve('src/components'))
  },
  configureWebpack: config => {
    // ç»™è¾“出的js名称添加hash
    config.output.filename = "static/js/[name].[hash].js";
    config.output.chunkFilename = "static/js/[name].[hash].js";
    config.optimization = {
      splitChunks: {
        cacheGroups: {
          // æŠ½ç¦»æ‰€æœ‰å…¥å£çš„公用资源为一个chunk
          common: {
            name: "chunk-common",
            chunks: "initial",
            minChunks: 2,
            maxInitialRequests: 5,
            minSize: 0,
            priority: 1,
            reuseExistingChunk: true,
            enforce: true
          },
          // æŠ½ç¦»node_modules下的库为一个chunk
          // vendors: {
          //   name: "chunk-vendors",
          //   test: /[\\/]node_modules[\\/]/,
          //   chunks: "initial",
          //   priority: 2,
          //   reuseExistingChunk: true,
          //   enforce: true
          // },
          element: {
            name: "chunk-element-ui",
            test: /[\\/]node_modules[\\/]element-ui[\\/]/,
            chunks: "all",
            priority: 3,
            reuseExistingChunk: true,
            enforce: true
          },
          yhhtUi: {
            name: "chunk-yhht-ui",
            test: /[\\/]node_modules[\\/]yhht-ui[\\/]/,
            chunks: "all",
            priority: 4,
            reuseExistingChunk: true,
            enforce: true
          },
          datav: {
            name: "chunk-datav",
            test: /[\\/]node_modules[\\/]@jiaminghi[\\/]data-view[\\/]/,
            chunks: "all",
            priority: 4,
            reuseExistingChunk: true,
            enforce: true
          },
        }
      }
    };
  },
  // æ˜¯å¦ä¸º Babel æˆ– TypeScript ä½¿ç”¨ thread-loader。该选项在系统的 CPU æœ‰å¤šäºŽä¸€ä¸ªå†…核时自动启用,仅作用于生产构建。
  parallel: require('os').cpus().length > 1,
  devServer: {
    // '/api':{
    //   target: 'http://192.168.8.211:8098/',
    //   // è·¨åŸŸé…ç½®
    //   changeOrigin: true,
    //   // è·¯å¾„重写
    //   pathRewrite:{
    //         '^/api': '/'
    //     }
    // }
  },
  pluginOptions: {
  }
}
  lintOnSave: false
}