UNPKG

real-name-pc

Version:
108 lines (106 loc) 2.71 kB
const path = require('path'); const TerserPlugin = require('terser-webpack-plugin'); const { CleanWebpackPlugin } = require('clean-webpack-plugin'); const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer'); module.exports = { entry: { 'real-name-pc': ['@babel/polyfill', './src/index.js'], 'real-name-pc.min': ['@babel/polyfill', './src/index.js'] }, output: { path: path.join(__dirname, 'dist'), filename: '[name].js', chunkFilename: '[name].js', library: 'RealNamePc', libraryTarget: 'umd', libraryExport: 'default' }, mode: 'production', optimization: { minimize: true, minimizer: [ new TerserPlugin({ include: /(\.min|vendors)\.js$/ }) ], // splitChunks: { // cacheGroups: { // vendor: { // test: /(react|react-dom|redux)/, // name: 'vendors', // chunks: 'all' // } // } // } }, module: { rules: [ { test: /.js$/, include: path.resolve(__dirname, 'src'), use: 'babel-loader' }, { test: /\.(css|less)$/, include: path.resolve(__dirname, 'src'), use: [ 'style-loader', 'css-loader', 'less-loader', 'postcss-loader' ] }, { test: /.(png|jpg|gif|jpeg|svg)$/, use: [ { loader: 'file-loader', options: { name: '[name]_[hash:8].[ext]' } }, { loader: 'image-webpack-loader', options: { mozjpeg: { progressive: true, quality: 65 }, // optipng.enabled: false will disable optipng optipng: { enabled: false, }, pngquant: { quality: [0.65, 0.90], speed: 4 }, gifsicle: { interlaced: false, }, // the webp option will enable WEBP webp: { quality: 75 } } }, ] } ] }, plugins: [ new CleanWebpackPlugin() ], resolve: { extensions: ['.js'], alias: { src: path.resolve(__dirname, './src'), utils: path.resolve(__dirname, './src/utils'), sdk: path.resolve(__dirname, './src/sdk'), components: path.resolve(__dirname, './src/components'), request: path.resolve(__dirname, './src/request'), }, mainFields: ['main'], // 在模块中添加 src, 当导入文件时,可以将 src 作为相关路径 modules: ['src', 'node_modules'] }, }