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.
		
		
		
		
		
			
		
			
				
					
					
						
							97 lines
						
					
					
						
							3.5 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							97 lines
						
					
					
						
							3.5 KiB
						
					
					
				| /** | |
|  * 开发环境构建 | |
|  */ | |
| const { merge } = require('webpack-merge'); // webpack 配置合并函数 | |
| const common = require('./webpack.config.common.cjs'); // webpack 通用配置 | |
| const mf = require('./webpack.config.mf.cjs'); // webpack 模块联邦配置 | |
|  | |
| module.exports = merge(common, mf, { | |
|   mode: 'development', | |
|   // ------------------------------------------------------------------------------------------------------------------------------- | |
|   // devtool        | performance                      | comment | |
|   // (none)         | build:fastest, rebuild:fastest   | Recommended choice for production builds with maximum performance. | |
|   // eval           | build:fast,    rebuild:fastest   | Recommended choice for development builds with maximum performance. | |
|   // eval-source-map| build:slowest, rebuild:ok        | Recommended choice for development builds with high quality SourceMaps. | |
|   // source-map     | build:slowest, rebuild:slowest   | Recommended choice for production builds with high quality SourceMaps. | |
|   // ------------------------------------------------------------------------------------------------------------------------------- | |
|   devtool: 'eval-source-map', | |
|   optimization: { | |
|     minimize: false, | |
|     moduleIds: 'named', | |
|     chunkIds: 'named', | |
| 
 | |
|     splitChunks: { | |
|       cacheGroups: { | |
|         shared: { | |
|           name: 'vue', | |
|           test: /[\\/]node_modules[\\/](axios|dayjs|exceljs|file-saver|luckyexcel|mockjs|xml-formatter)[\\/]/, | |
|           priority: 20, | |
|           chunks: 'all', | |
|           enforce: true, | |
|         }, | |
|         vue: { | |
|           name: 'vue', | |
|           test: /[\\/]node_modules[\\/](vue|vue-dompurify-html|vue-i18n|vue-router|pinia|@vueuse[\\/]core)[\\/]/, | |
|           priority: 20, | |
|           chunks: 'all', | |
|           enforce: true, | |
|         }, | |
|         codemirror: { | |
|           name: 'codemirror', | |
|           test: /[\\/]node_modules[\\/](codemirror|@codemirror[\\/]autocomplete|@codemirror[\\/]commands|@codemirror[\\/]lang-html|@codemirror[\\/]lang-java|@codemirror[\\/]lang-javascript|@codemirror[\\/]lang-json|@codemirror[\\/]lang-sql|@codemirror[\\/]lang-xml|@codemirror[\\/]language|@codemirror[\\/]search|@codemirror[\\/]state|@codemirror[\\/]view)[\\/]/, | |
|           priority: 20, | |
|           chunks: 'all', | |
|           enforce: true, | |
|         }, | |
|         quasar: { | |
|           name: 'quasar', | |
|           test: /[\\/]node_modules[\\/](quasar|@quasar[\\/]quasar-ui-qmarkdown)[\\/]/, | |
|           priority: 20, | |
|           chunks: 'all', | |
|           enforce: true, | |
|         }, | |
|         'platform-core': { | |
|           name: 'platform-core', | |
|           test: /[\\/]node_modules[\\/]platform-core[\\/]/, | |
|           priority: 20, | |
|           chunks: 'all', | |
|           enforce: true, | |
|         }, | |
|         echarts: { | |
|           name: 'echarts', | |
|           test: /[\\/]node_modules[\\/]echarts[\\/]/, | |
|           priority: 20, | |
|           chunks: 'all', | |
|           enforce: true, | |
|         }, | |
|         maxgraph: { | |
|           name: 'maxgraph', | |
|           test: /[\\/]node_modules[\\/]@maxgraph[\\/]/, | |
|           priority: 20, | |
|           chunks: 'all', | |
|           enforce: true, | |
|         }, | |
|         '@univerjs': { | |
|           name: '@univerjs', | |
|           test: /[\\/]node_modules[\\/]@univerjs[\\/]/, | |
|           priority: 20, | |
|           chunks: 'all', | |
|           enforce: true, | |
|         }, | |
|         view: { | |
|           name: 'view', | |
|           test: /[\\/]view[\\/]/, | |
|           priority: 20, | |
|           chunks: 'all', | |
|           enforce: true, | |
|         }, | |
|         vendors: { | |
|           name: 'vendors', | |
|           test: /[\\/]node_modules[\\/]/, | |
|           chunks: 'all', | |
|           enforce: true, | |
|         }, | |
|       }, | |
|     }, | |
|   }, | |
| });
 | |
| 
 |