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;
|