12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- const merge = require('webpack-merge');
- const common = require('./webpack.common.js');
- const OptimizeCssAssesetsPlugin = require('optimize-css-assets-webpack-plugin');
- const UglifyJsPlugin = require("uglifyjs-webpack-plugin");
- const MiniCssExtractPlugin = require('mini-css-extract-plugin');
- const { CleanWebpackPlugin } = require('clean-webpack-plugin');
- module.exports = merge(common,{
- mode:'production',
- devtool:'source-map',
- optimization:{
- splitChunks:{
- chunks:'all',
- cacheGroups:{
- vendor:{
- name:'vendor',
- test:/[\\/]node_modules[\\/]/,
- priority:-10,
- chunks:'initial'
- }
- }
- },
- minimizer:[
- new UglifyJsPlugin({
- uglifyOptions:{
- warnings: false, // 去除警告
- compress:{
- drop_debugger: true, // 去除debugger
- drop_console: true // 去除console.log
- }
- },
- // cache:true,
- // parallel:true,
- sourceMap:false,
- }),
- // new OptimizeCssAssesetsPlugin({})
- ]
- },
- plugins:[
- new CleanWebpackPlugin(),
- /*new MiniCssExtractPlugin({
- filename: 'css/[name].[hash].css',
- // chunkFilename: 'js/[id].[hash].css',
- chunkFilename: 'css/[hash].[hash].css',
- }),*/
- ],
- /*module: {
- rules: [{
- test:/\.css$/,
- use:[{
- loader: MiniCssExtractPlugin.loader,
- options: {
- // filename:'[name].css',
- // chunkFilename:'[name].css',
- minimize: true,
- publicPath: '../'
- }
- },
- 'css-loader',
- {
- loader:'css-loader',
- options:{
- importLoaders: 2 //该方式可以让@import引入的css文件再次执行一边css打包loader
- }
- }
- ]
- },
- {
- test:/\.less$/,
- use:[
- {
- loader: MiniCssExtractPlugin.loader,
- options: {
- minimize: true,
- publicPath: '../'
- }
- },
- 'style-loader',
- 'css-loader',
- 'less-loader'
- ]
- }
- ]
- }*/
- });
|