122 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			122 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
/*
 | 
						||
 * @Author: liyxt
 | 
						||
 * @Date: 2019-09-12 10:17:44
 | 
						||
 * @LastEditors: liyxt
 | 
						||
 * @LastEditTime: 2020-03-25 13:52:00
 | 
						||
 * @Description: file content
 | 
						||
 */
 | 
						||
/**
 | 
						||
 * 公共配置
 | 
						||
 */
 | 
						||
const path = require('path');
 | 
						||
const CopyWebpackPlugin = require('copy-webpack-plugin');
 | 
						||
const ExtractTextPlugin = require('extract-text-webpack-plugin');
 | 
						||
const fileRules = require('./fileRules');
 | 
						||
 | 
						||
//优化配置,对于使用CDN作为包资源的引用从外到内的配置
 | 
						||
const externals = {
 | 
						||
	'@platform/api-min': '@platform/api-min/index',
 | 
						||
	'@platform/api': '@platform/api/index',
 | 
						||
	'@platform/base': '@platform/base/index',
 | 
						||
	'@platform/template': '@platform/template/index',
 | 
						||
	'@platform/form': '@platform/form/index',
 | 
						||
	'@platform/search': '@platform/search/index',
 | 
						||
	'@platform/table-core': '@platform/table-core/index',
 | 
						||
	'@platform/card-table': '@platform/card-table/index',
 | 
						||
	'@platform/edit-table': '@platform/edit-table/index',
 | 
						||
	'@platform/simple-table': '@platform/simple-table/index',
 | 
						||
	'@platform/transfer-table': '@platform/transfer-table/index',
 | 
						||
	'@platform/tree-table': '@platform/tree-table/index',
 | 
						||
	'@platform/components': '@platform/components/index',
 | 
						||
	'runtime':'runtime',
 | 
						||
	'nc-lightapp-mobile': 'nc-lightapp-mobile',
 | 
						||
	'nc-lightapp-front': 'nc-lightapp-front',
 | 
						||
	'platform-workbench': 'platform-workbench',
 | 
						||
	'platform-report': 'platform-report',
 | 
						||
	'platform-login': 'platform-login',
 | 
						||
	'nc-report': 'nc-report',
 | 
						||
	'babel-polyfill': 'babel-polyfill',
 | 
						||
	'nc-graphic-report': 'nc-graphic-report',
 | 
						||
	axios: {
 | 
						||
		root: 'axios',
 | 
						||
		var: 'axios',
 | 
						||
		commonjs: 'axios',
 | 
						||
		commonjs2: 'axios',
 | 
						||
		amd: 'axios'
 | 
						||
	},
 | 
						||
	react: {
 | 
						||
		root: 'React',
 | 
						||
		var: 'React',
 | 
						||
		commonjs: 'react',
 | 
						||
		commonjs2: 'react',
 | 
						||
		amd: 'react'
 | 
						||
	},
 | 
						||
	// redux: {
 | 
						||
	// 	root: 'Redux',
 | 
						||
	// 	var: 'Redux',
 | 
						||
	// 	commonjs: 'redux',
 | 
						||
	// 	commonjs2: 'redux',
 | 
						||
	// 	amd: 'redux'
 | 
						||
	// },
 | 
						||
	// 'react-redux': {
 | 
						||
	// 	root: 'ReactRedux',
 | 
						||
	// 	var: 'ReactRedux',
 | 
						||
	// 	commonjs: 'react-redux',
 | 
						||
	// 	commonjs2: 'react-redux',
 | 
						||
	// 	amd: 'react-redux'
 | 
						||
	// },
 | 
						||
	'react-router': {
 | 
						||
		root: 'ReactRouter',
 | 
						||
		var: 'ReactRouter',
 | 
						||
		commonjs: 'react-router',
 | 
						||
		commonjs2: 'react-router',
 | 
						||
		amd: 'react-router'
 | 
						||
	},
 | 
						||
	'react-dom': {
 | 
						||
		root: 'ReactDOM',
 | 
						||
		var: 'ReactDOM',
 | 
						||
		commonjs: 'react-dom',
 | 
						||
		commonjs2: 'react-dom',
 | 
						||
		amd: 'react-dom'
 | 
						||
	},
 | 
						||
	'react-dom/server': { //braft-editor 用到
 | 
						||
		root: 'ReactDOMServer',
 | 
						||
		var: 'ReactDOMServer',
 | 
						||
		commonjs: 'react-dom/server',
 | 
						||
		commonjs2: 'react-dom/server',
 | 
						||
		amd: 'react-dom/server'
 | 
						||
	}
 | 
						||
};
 | 
						||
 | 
						||
//默认加载扩展名、相对JS路径模块的配置
 | 
						||
const resolve = {
 | 
						||
	extensions: ['.jsx', '.js', '.less', '.css', '.json'],
 | 
						||
	alias: {
 | 
						||
		ssccommon: path.resolve(process.cwd(), './src/sscrp/public/common/'),
 | 
						||
		sscplatformcomponents: path.resolve(process.cwd(), './src/sscrp/public/common/platformcomponents/v2207'),
 | 
						||
		src: path.resolve(__dirname, '../src/')
 | 
						||
	}
 | 
						||
};
 | 
						||
 | 
						||
//Loader
 | 
						||
const rules = fileRules();
 | 
						||
 | 
						||
//webpack通用配置
 | 
						||
const commonConfig = {
 | 
						||
	// 打包时排除
 | 
						||
	externals,
 | 
						||
	// loaders
 | 
						||
	module: {
 | 
						||
		rules
 | 
						||
	},
 | 
						||
	plugins: [
 | 
						||
		// new ExtractTextPlugin({
 | 
						||
		// 	filename: '[name].css',
 | 
						||
		// 	allChunks: true
 | 
						||
		// })
 | 
						||
	],
 | 
						||
	resolve
 | 
						||
};
 | 
						||
 | 
						||
module.exports = commonConfig;
 |