YouChain_WMS_Web/nc_wms_web/vite.config.ts

91 lines
2.4 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/*
* vite配置
*
* @Author: 1024创新实验室-主任:卓大
* @Date: 2022-05-02 23:44:56
* @Wechat: zhuda1024
* @Email: lab1024@163.com
* @Copyright 1024创新实验室 https://1024lab.net Since 2012
*/
import { resolve } from 'path';
import vue from '@vitejs/plugin-vue';
import customVariables from '/@/theme/custom-variables';
const pathResolve = (dir) => {
return resolve(__dirname, '.', dir);
};
export default {
base: process.env.NODE_ENV === 'production' ? '/' : '/',
root: process.cwd(),
resolve: {
alias: [
// 国际化替换
{
find: 'vue-i18n',
replacement: 'vue-i18n/dist/vue-i18n.cjs.js',
},
// 绝对路径重命名:/@/xxxx => src/xxxx
{
find: /\/@\//,
replacement: pathResolve('src') + '/',
},
{
find: /^~/,
replacement: '',
},
],
},
// 服务端渲染
server: {
host: '0.0.0.0',
port: 8080
},
plugins: [vue()],
optimizeDeps: {
include: ['ant-design-vue/es/locale/zh_CN', 'dayjs/locale/zh-cn', 'ant-design-vue/es/locale/en_US'],
exclude: ['vue-demi'],
},
build: {
// 清除console和debugger
terserOptions: {
compress: {
drop_console: true,
drop_debugger: true,
},
},
rollupOptions: {
output: {
//配置这个是让不同类型文件放在不同文件夹,不会显得太乱
chunkFileNames: 'js/[name]-[hash].js',
entryFileNames: 'js/[name]-[hash].js',
assetFileNames: '[ext]/[name]-[hash].[ext]',
manualChunks(id) {
//静态资源分拆打包
if (id.includes('node_modules')) {
return id.toString().split('node_modules/')[1].split('/')[0].toString();
}
},
},
},
target: 'esnext',
outDir: 'dist', // 指定输出路径
assetsDir: 'assets', // 指定生成静态文件目录
assetsInlineLimit: '4096', // 小于此阈值的导入或引用资源将内联为 base64 编码
chunkSizeWarningLimit: 500, // chunk 大小警告的限制
minify: 'terser', // 混淆器terser构建后文件体积更小
emptyOutDir: true, //打包前先清空原有打包文件
},
css: {
preprocessorOptions: {
less: {
modifyVars: customVariables,
javascriptEnabled: true,
},
},
},
define: {
__INTLIFY_PROD_DEVTOOLS__: false,
'process.env': process.env,
},
};