UNPKG

hm-react-cli

Version:

Create a Huimei React project by module

84 lines (78 loc) 2.52 kB
const path = require('path'); const webpack = require('webpack'); const UglifyJsPlugin = require('uglifyjs-webpack-plugin'); //多线程压缩 // 以项目的基础目录我基础,解析路径 function baseResolve(...dir) { return path.resolve(__dirname, ...dir); } // const vendors = [ // baseResolve('node_modules','axios'), // baseResolve('node_modules','anujs/dist/ReactIE'), // baseResolve('node_modules','anujs/dist/Rematch.js'), // baseResolve('node_modules','anujs/lib/ReduxIE'), // baseResolve('node_modules','anujs/lib/ReactPropTypes'), // baseResolve('node_modules','react-router'), // baseResolve('node_modules','react-redux') // ]; const vendors = [ 'axios', 'anujs/dist/ReactIE', 'anujs/dist/Rematch.js', 'anujs/lib/ReduxIE', 'anujs/lib/ReactPropTypes', 'react-router', 'react-redux' ]; module.exports = { entry: { vendor: vendors }, output: { path: path.resolve(__dirname, 'dll'), filename: 'Dll.js', library: '[name]_[hash]' }, plugins: [ new webpack.DllPlugin({ path: path.resolve(__dirname, 'dll', 'manifest.json'), name: '[name]_[hash]', context: '/' }) ], resolve: { mainFields: ['main', 'jsnext:main', 'browser'], //npm读取先后方式 jsnext:main 是采用es6模块写法 alias: { // antd: path.resolve(__dirname, 'antd'), anujs: path.resolve(__dirname, 'package-modules/anujs'), // 框架相关包替换 react: 'anujs/dist/ReactIE', 'react-dom':'anujs/dist/ReactIE', 'prop-types': 'anujs/lib/ReactPropTypes', rematch: 'anujs/dist/Rematch.js', '@reach/router': 'anujs/dist/Router.js' } //配置别名,在项目中可缩减引用路径 }, optimization: { minimizer: [ new UglifyJsPlugin({ parallel: true, cache: true, uglifyOptions: { ie8: true, output: { comments: false, beautify: false }, ie: true, merge_vars: false, compress: { // drop_console: true, drop_debugger: true } }, exclude: /(bower_components)/ }) ] } };