Blame view

vue.config.js 5.26 KB
b89c8760   wangming   项目初始化
1
2
3
4
5
  'use strict'
  const path = require('path')
  const defaultSettings = require('./src/settings.js')
  
  function resolve(dir) {
93212c7d   yangzhi   配置修改
6
      return path.join(__dirname, dir)
b89c8760   wangming   项目初始化
7
8
9
10
11
12
13
14
15
16
17
18
19
  }
  
  const name = defaultSettings.title || '答题后台' // page title
  
  // If your port is set to 80,
  // use administrator privileges to execute the command line.
  // For example, Mac: sudo npm run
  // You can change the port by the following methods:
  // port = 9528 npm run dev OR npm run dev --port = 9528
  const port = process.env.port || process.env.npm_config_port || 9528 // dev port
  
  // All configuration item explanations can be find in https://cli.vuejs.org/config/
  module.exports = {
93212c7d   yangzhi   配置修改
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
      /**
       * You will need to set publicPath if you plan to deploy your site under a sub path,
       * for example GitHub Pages. If you plan to deploy your site to https://foo.github.io/bar/,
       * then publicPath should be set to "/bar/".
       * In most cases please use '/' !!!
       * Detail: https://cli.vuejs.org/config/#publicpath
       */
      publicPath: '/',
      outputDir: 'dist',
      assetsDir: 'static',
      lintOnSave: process.env.NODE_ENV === 'development',
      productionSourceMap: false,
      devServer: {
          port: port,
          open: true,
          overlay: {
              warnings: false,
              errors: true
          },
          proxy: {
              '/development': {
94c54e92   周超   1
41
                  // target: `http://inteview.t1j2.com/`, //后台服务地址
c33c1243   周超   拉取王哥最新的
42
43
                  target:'http://localhost:8877',
                  // target:'http://localhost:8009',
93212c7d   yangzhi   配置修改
44
45
46
47
48
49
                  changeOrigin: true,
                  pathRewrite: {
                      '^/development': ''
                  }
              },
              '/api': {
9af0636f   yangzhi   超哥牛批
50
51
                  target: `http://inteview.t1j2.com/`, //后台服务地址
                  // target: 'http://localhost:8877',
93212c7d   yangzhi   配置修改
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
                  changeOrigin: true,
                  pathRewrite: {}
              }
          },
      },
      configureWebpack: {
          // provide the app's title in webpack's name field, so that
          // it can be accessed in index.html to inject the correct title.
          name: name,
          resolve: {
              alias: {
                  '@': resolve('src')
              }
          }
      },
      chainWebpack(config) {
          // it can improve the speed of the first screen, it is recommended to turn on preload
          config.plugin('preload').tap(() => [{
              rel: 'preload',
              // to ignore runtime.js
              // https://github.com/vuejs/vue-cli/blob/dev/packages/@vue/cli-service/lib/config/app.js#L171
              fileBlacklist: [/\.map$/, /hot-update\.js$/, /runtime\..*\.js$/],
              include: 'initial'
          }])
b89c8760   wangming   项目初始化
76
  
93212c7d   yangzhi   配置修改
77
78
          // when there are many pages, it will cause too many meaningless requests
          config.plugins.delete('prefetch')
b89c8760   wangming   项目初始化
79
  
93212c7d   yangzhi   配置修改
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
          // set svg-sprite-loader
          config.module
              .rule('svg')
              .exclude.add(resolve('src/icons'))
              .end()
          config.module
              .rule('icons')
              .test(/\.svg$/)
              .include.add(resolve('src/icons'))
              .end()
              .use('svg-sprite-loader')
              .loader('svg-sprite-loader')
              .options({
                  symbolId: 'icon-[name]'
              })
              .end()
b89c8760   wangming   项目初始化
96
  
93212c7d   yangzhi   配置修改
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
          config
              .when(process.env.NODE_ENV !== 'development',
                  config => {
                      config
                          .plugin('ScriptExtHtmlWebpackPlugin')
                          .after('html')
                          .use('script-ext-html-webpack-plugin', [{
                              // `runtime` must same as runtimeChunk name. default is `runtime`
                              inline: /runtime\..*\.js$/
                          }])
                          .end()
                      config
                          .optimization.splitChunks({
                              chunks: 'all',
                              cacheGroups: {
                                  libs: {
                                      name: 'chunk-libs',
                                      test: /[\\/]node_modules[\\/]/,
                                      priority: 10,
                                      chunks: 'initial' // only package third parties that are initially dependent
                                  },
                                  elementUI: {
                                      name: 'chunk-elementUI', // split elementUI into a single package
                                      priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app
                                      test: /[\\/]node_modules[\\/]_?element-ui(.*)/ // in order to adapt to cnpm
                                  },
                                  commons: {
                                      name: 'chunk-commons',
                                      test: resolve('src/components'), // can customize your rules
                                      minChunks: 3, //  minimum common number
                                      priority: 5,
                                      reuseExistingChunk: true
                                  }
                              }
                          })
                          // https:// webpack.js.org/configuration/optimization/#optimizationruntimechunk
                      config.optimization.runtimeChunk('single')
                  }
              )
      }
  }