build.minify
时间: 2023-11-21 20:55:54 浏览: 264
build.minify是vite项目中的一个配置选项,用于指定项目在打包时使用的代码压缩工具。默认情况下,vite使用esbuild进行代码压缩,但是也可以选择使用Terser进行压缩。如果想要使用Terser进行压缩,则需要在vite.config.js文件中的build配置中设置minify为'terser',如下所示:
```javascript
// 使用Terser进行代码压缩
build: {
minify: 'terser',
// 其他配置项
}
```
如果不设置minify或者设置为其他值,则默认使用esbuild进行代码压缩。如果在使用Terser进行代码压缩时出现错误,可以根据错误提示设置build.minify为"terser",如下所示:
```javascript
// 设置build.minify为"terser"
build: {
minify: 'terser',
terserOptions: {
// 其他Terser配置项
},
// 其他配置项
}
```
相关问题
build.terseroptions is specified but build.minify is not set to use terser. note vite now defaults to use esbuild for minification. if you still prefer terser, set build.minify to "terser".
提示指定了build.terseroptions,但build.minify没有设置使用terser进行压缩。请注意,Vite现在默认使用esbuild进行压缩。如果您仍然喜欢使用terser,请将build.minify设置为“terser”。
import { createVitePlugins } from './build/vite/plugins'; import { initProxy } from './build/vite/proxy'; import { resolve } from 'path'; import { ConfigEnv, loadEnv, UserConfig } from 'vite'; import { wrapperEnv } from './build/utils'; const pathResolve = (dir: string) => { return resolve(process.cwd(), '.', dir); }; // https://vitejs.dev/config/ export default function ({ command, mode }: ConfigEnv): UserConfig { const isProduction = command === 'build'; const root = process.cwd(); const env = loadEnv(mode, root); const viteEnv = wrapperEnv(env); return { root, base:'./', resolve: { alias: [ { find: 'vue-i18n', replacement: 'vue-i18n/dist/vue-i18n.cjs.js', }, // /@/xxxx => src/xxxx { find: /\/@\//, replacement: pathResolve('src') + '/', }, // /#/xxxx => types/xxxx { find: /\/#\//, replacement: pathResolve('types') + '/', }, ], }, server: { host: true, hmr: true, proxy: initProxy(), }, plugins: createVitePlugins(viteEnv, isProduction), build: { assetsDir:'static', minify: 'terser', terserOptions: { compress: { //生产环境时移除console drop_console: true, drop_debugger: true, }, }, }, css: { preprocessorOptions: { scss: { // 配置 nutui 全局 scss 变量 additionalData: `@import "/@/styles/variables.scss";@import '/@/styles/mixin.scss';`, }, }, }, }; }在这段配置里,我要加入vuesetupextend这个插件,代码如何修改
要使用vuesetupextend插件,你需要先安装它。可以通过以下命令进行安装:
```
npm install --save-dev vuesetupextend
```
然后,在你的vite配置文件中,可以通过以下方式进行使用:
```
import { createVitePlugins } from './build/vite/plugins';
import { initProxy } from './build/vite/proxy';
import { resolve } from 'path';
import { ConfigEnv, loadEnv, UserConfig } from 'vite';
import { wrapperEnv } from './build/utils';
import vueSetupExtend from 'vuesetupextend';
const pathResolve = (dir: string) => {
return resolve(process.cwd(), '.', dir);
};
// https://vitejs.dev/config/
export default function ({ command, mode }: ConfigEnv): UserConfig {
const isProduction = command === 'build';
const root = process.cwd();
const env = loadEnv(mode, root);
const viteEnv = wrapperEnv(env);
return {
root,
base:'./',
resolve: {
alias: [
{
find: 'vue-i18n',
replacement: 'vue-i18n/dist/vue-i18n.cjs.js',
},
// /@/xxxx => src/xxxx
{
find: /\/@\//,
replacement: pathResolve('src') + '/',
},
// /#/xxxx => types/xxxx
{
find: /\/#\//,
replacement: pathResolve('types') + '/',
},
],
},
server: {
host: true,
hmr: true,
proxy: initProxy(),
},
plugins: [
vueSetupExtend(),
...createVitePlugins(viteEnv, isProduction),
],
build: {
assetsDir:'static',
minify: 'terser',
terserOptions: {
compress: {
//生产环境时移除console
drop_console: true,
drop_debugger: true,
},
},
},
css: {
preprocessorOptions: {
scss: {
// 配置 nutui 全局 scss 变量
additionalData: `@import "/@/styles/variables.scss";@import '/@/styles/mixin.scss';`,
},
},
},
};
}
```
需要注意的是,我们将vueSetupExtend插件放在了其他插件之前,这是因为它需要在其他插件之前进行处理。
阅读全文