|
@@ -0,0 +1,66 @@
|
|
|
+
|
|
|
+const {resolve} = require('path')
|
|
|
+const HtmlWebpackPlugin = require('html-webpack-plugin')
|
|
|
+
|
|
|
+
|
|
|
+ *
|
|
|
+ */
|
|
|
+module.exports = {
|
|
|
+ entry: './src/index.js',
|
|
|
+ output: {
|
|
|
+ filename:'[name].js',
|
|
|
+ path:resolve(__dirname,'build')
|
|
|
+ },
|
|
|
+ module:{
|
|
|
+ rules:[
|
|
|
+ {
|
|
|
+ test:/\.css$/,
|
|
|
+ use:['style-loader','css-loader']
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ plugins: [
|
|
|
+ new HtmlWebpackPlugin()
|
|
|
+ ],
|
|
|
+ mode: 'production',
|
|
|
+
|
|
|
+ * 解析模块规则
|
|
|
+ */
|
|
|
+ resolve:{
|
|
|
+
|
|
|
+ alias:{
|
|
|
+ $css: resolve(__dirname,'src/css')
|
|
|
+ },
|
|
|
+
|
|
|
+ extensions:[
|
|
|
+ '.js','.json','.css'
|
|
|
+ ],
|
|
|
+
|
|
|
+ modules:[
|
|
|
+ resolve(__dirname,'../node_modules'),'node_modules'
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ optimization:{
|
|
|
+ splitChunks:{
|
|
|
+ chunks:'all',
|
|
|
+ minSize: 30 * 1024,
|
|
|
+ maxSize: 0,
|
|
|
+ minChunks: 1,
|
|
|
+ maxAsyncRequests: 5,
|
|
|
+ maxInitialRequests: 3,
|
|
|
+ autumaticNameDelimiter: '~',
|
|
|
+ name: true,
|
|
|
+ cacheGroups:{
|
|
|
+ vendors:{
|
|
|
+ test:/[\\/]node_modules[\\/]/,
|
|
|
+ priority: -10
|
|
|
+ },
|
|
|
+ default:{
|
|
|
+ minChunks: 2,
|
|
|
+ priority: -20,
|
|
|
+ reuseExistingChunk:true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|