You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							86 lines
						
					
					
						
							2.0 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							86 lines
						
					
					
						
							2.0 KiB
						
					
					
				| const path = require('path') | |
| const resolve = dir => { | |
|   return path.join(__dirname, dir) | |
| } | |
| const name = '智慧安消全景数字看板' | |
| const webpack = require('webpack') | |
| module.exports = { | |
|   publicPath: process.env.NODE_ENV === 'development' ? '/' : './', | |
|   outputDir: 'dist', | |
|   assetsDir: 'static', | |
|   lintOnSave: process.env.NODE_ENV === 'development', | |
|   productionSourceMap: false, | |
|   devServer: { | |
|     port: 8080, | |
|     open: true, | |
|     overlay: { | |
|       warnings: false, | |
|       errors: true | |
|     }, | |
|     proxy: { | |
|       '/qyzt/': { | |
|         target: process.env.VUE_APP_BASE_API, | |
|         changeOrigin: true, | |
|         pathRewrite: { | |
|           '^/qyzt': 'qyzt' | |
|         } | |
|       }, | |
|       '/openlib/': { | |
|         target: process.env.VUE_APP_LIB_API, | |
|         changeOrigin: true, | |
|         pathRewrite: { | |
|           '^/openlib': 'openlib' | |
|         } | |
|       } | |
|     } | |
|   }, | |
|   configureWebpack: { | |
|     name: name, | |
|     resolve: { | |
|       alias: { | |
|         '@': resolve('src') | |
|       } | |
|     }, | |
|     performance: { | |
|       hints: 'warning', | |
|       // 入口起点的最大体积 | |
|       maxEntrypointSize: 50000000, | |
|       // 生成文件的最大体积 | |
|       maxAssetSize: 30000000 | |
|     }, | |
|     plugins: [ | |
|       new webpack.ProvidePlugin({ | |
|         $: 'jquery', | |
|         jQuery: 'jquery', | |
|         'windows.jQuery': 'jquery' | |
|       }) | |
|     ] | |
|   }, | |
|   chainWebpack: config => { | |
|     // 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() | |
| 
 | |
|     config.resolve | |
|       .alias.set('_c', resolve('src/components')) | |
| 
 | |
|     config.plugin('html') | |
|       .tap(args => { | |
|         args[0].title = '智慧安消全景数字看板' | |
|         return args | |
|       }) | |
|   } | |
| }
 |