代码拉取完成,页面将自动刷新
import { ConfigEnv, loadEnv } from 'vite'
import alias from './vite/alias'
import { parseEnv } from './vite/util'
import { setupPlugins } from './vite/plugins'
import { visualizer } from 'rollup-plugin-visualizer'
/***
* @description 相关插件的配置
* @param command 当前是在编译环境还是生产环境
* @param mode 运行模式,开发阶段是development,生产阶段是production
*/
export default ({ command, mode }: ConfigEnv) => {
// isBuild定义当前是否在编译模式
const isBuild = command === 'build'
// 获取配置文件的目录
const root = process.cwd()
// 提取配置文件中的环境变量,获取.env文件中的所有配置项,但是配置项的具体值是字符串类型
const env = parseEnv(loadEnv(mode, root)) // parseEnv(env)最后读取到配置文件的数据,修复了其值都是字符串类型
return {
// 设置scss的api类型为modern-compiler
css: {
preprocessorOptions: {
scss: {
api: 'modern-compiler'
}
}
},
// plugins: [vue()],
plugins: [...setupPlugins(isBuild, env), visualizer()],
resolve: {
alias
},
build: { // 依赖模块单独打包
rollupOptions: {
emptyOutDir: true, // 每次打包将编译目录进行清空
output: {
manualChunks(id: string) {
// 如果id中包含node_modules,则返回node_modules中的模块名(格式化的内容)
if (id.includes('node_modules')) {
return id.toString().split('node_modules/')[1].split('/')[0].toString()
}
}
}
}
},
server: {
proxy: {
'/api': {
target: env.VITE_API_URL, // 如果mock开启,则代理到mock,否则代理到配置文件中的真实后端的api地址
changeOrigin: true,
rewrite: (path: string) => path.replace(/^\/api/, '')
}
}
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。