const { defineConfig } = require('@vue/cli-service'); const { VantResolver } = require('@vant/auto-import-resolver'); const AutoImport = require('unplugin-auto-import/webpack'); const Components = require('unplugin-vue-components/webpack'); const { codeInspectorPlugin } = require('code-inspector-plugin'); const { ElementPlusResolver } = require('unplugin-vue-components/resolvers') const CompressionWebpackPlugin = require('compression-webpack-plugin'); module.exports = defineConfig({ lintOnSave: false, productionSourceMap: false, transpileDependencies: true, publicPath: './', css: { loaderOptions: { postcss: { postcssOptions: { plugins: [ require('autoprefixer'), // 其他插件 ] } } } }, devServer: { open: true, hot: true,//自动保存 port:80 }, chainWebpack: (config) => { config.plugin('code-inspector-plugin').use( codeInspectorPlugin({ bundler: 'webpack', }) ); }, configureWebpack: { plugins: [ // 当 unplugin-vue-components 版本小于 0.26.0 时,使用以下写法 // AutoImport({ resolvers: [VantResolver()] }), // Components({ resolvers: [VantResolver()] }), //当大于等于 0.26.0 时,使用以下写法 AutoImport.default({ resolvers: [VantResolver(),ElementPlusResolver()], }), Components.default({ resolvers: [VantResolver(),ElementPlusResolver()] }), // new CompressionWebpackPlugin({ // algorithm: 'gzip', // 使用gzip压缩 // test: /\.js$|\.html$|\.css$/, // 匹配文件名 // filename: '[path][base].gz[query]', // 压缩后的文件名(保持原文件名,后缀加.gz) // minRatio: 1, // 压缩率小于1才会压缩 // threshold: 0, // 对超过10k的数据压缩 // deleteOriginalAssets: true, // 是否删除未压缩的源文件,谨慎设置,如果希望提供非gzip的资源,可不设置或者设置为false(比如删除打包后的gz后还可以加载到原始资源文件) // }), ], }, });