custom-app
Version:
ITIMS��Ʒ�鿪��ר��React���,�Dz��ý��ּ�dhcc-app���������
84 lines (83 loc) • 1.95 kB
JavaScript
const path = require ('path'), fs = require ('fs'), webpack = require ('webpack');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const HappyPack = require('happypack');
const os = require('os');
const threadPoolCount = os.cpus().length;
const happyThreadPool = HappyPack.ThreadPool({ size: threadPoolCount });
const vendors = [
'react',
'redux',
'axios',
'router',
'redux-thunk',
'react-dom',
'react-redux',
'react-router',
'react-router-dom',
'antd.css',
'dist.js'
];
const ExtractCSS = new ExtractTextPlugin({
filename: '[name].dll.css',
allChunks: true,
});
const VendorDll = new webpack.DllPlugin ({
path: path.resolve (__dirname, 'dll', 'manifest.json'),
name: '[name]_[hash]',
context: __dirname,
});
module.exports = {
entry: {
vendor: vendors,
},
output: {
path: path.resolve (__dirname, 'dll'),
filename: 'Dll.js',
library: '[name]_[hash]',
},
resolve: {
alias: {
//������
'antd.css': path.resolve(__dirname, 'node_modules/antd/dist/antd.css'),
'dist.js': path.resolve(__dirname, 'node_modules/@ant-design/icons/lib/dist.js'),
},
},
module: {
rules: [
{
test: /\.css$/,
loader: ExtractCSS.extract({
fallback: 'style-loader',
use: ['happypack/loader?id=css'],
use: ['css-loader'],
}),
},
{
test: /\.js$/,
loaders: ['happypack/loader?id=js'],
},
],
},
plugins: [
new HappyPack({
id: 'css',
threadPool: happyThreadPool,
loaders: [
{
loader: 'css-loader',
}
],
}),
new HappyPack({
id: 'js',
threadPool: happyThreadPool,
loaders: [
{
loader: 'babel-loader',
},
],
}),
VendorDll,
ExtractCSS,
],
};