|
|
|
|
import path from 'path'
|
|
|
|
|
import { defineConfig, loadEnv } from 'vite'
|
|
|
|
|
import uni from '@dcloudio/vite-plugin-uni'
|
|
|
|
|
import Unocss from 'unocss/vite'
|
|
|
|
|
import transformWeClass from 'unplugin-transform-we-class/vite'
|
|
|
|
|
import AutoImport from 'unplugin-auto-import/vite'
|
|
|
|
|
import Components from 'unplugin-vue-components/vite';
|
|
|
|
|
import { VantResolver } from 'unplugin-vue-components/resolvers';
|
|
|
|
|
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
|
|
|
|
|
// const VITE_APP_SERVER_URL: string = loadEnv(mode, process.cwd()).VITE_APP_SERVER_URL;
|
|
|
|
|
|
|
|
|
|
export default ({ mode }) => {
|
|
|
|
|
// console.log('loadEnv(mode, process.cwd()).VITE_APP_SERVER_URL=', loadEnv(mode, process.cwd()).VITE_APP_SERVER_URL)
|
|
|
|
|
return defineConfig({
|
|
|
|
|
server: {
|
|
|
|
|
open: false,
|
|
|
|
|
cors: true,
|
|
|
|
|
host: '0.0.0.0',
|
|
|
|
|
proxy: {
|
|
|
|
|
"^/api": { //服务器接口路径地址,根据路径设置
|
|
|
|
|
target: loadEnv(mode, process.cwd()).VITE_APP_SERVER_URL, //你的服务器地址
|
|
|
|
|
changeOrigin: true, // 允许跨域
|
|
|
|
|
secure: false,
|
|
|
|
|
ws: true,
|
|
|
|
|
rewrite: (path) => path.replace(/^\/api/, ''),
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
resolve: {
|
|
|
|
|
alias: {
|
|
|
|
|
'~/': `${path.resolve(__dirname, 'src')}/`,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
plugins: [
|
|
|
|
|
uni(),
|
|
|
|
|
Components({
|
|
|
|
|
resolvers: [VantResolver()],
|
|
|
|
|
}),
|
|
|
|
|
createSvgIconsPlugin({
|
|
|
|
|
//指定图标文件夹,绝对路径(NODE代码)
|
|
|
|
|
iconDirs: [path.resolve(process.cwd(), 'src/icons')],
|
|
|
|
|
symbolId: 'icon-[name]',
|
|
|
|
|
}),
|
|
|
|
|
// https://github.com/antfu/unocss
|
|
|
|
|
// Unocss(),
|
|
|
|
|
// app打包配置
|
|
|
|
|
// uniapp打包app时,打包2次,一次使用 vue 模式打包h5,第2次使用 nvue 模式打包app,
|
|
|
|
|
// 第2次打包 unocss 会抛出warn
|
|
|
|
|
// entry module not found, have you add `import 'uno.css'` in your main entry?
|
|
|
|
|
// 导致打包终止
|
|
|
|
|
process.env.UNI_COMPILER !== 'nvue' ? Unocss() : undefined,
|
|
|
|
|
|
|
|
|
|
transformWeClass(),
|
|
|
|
|
AutoImport({
|
|
|
|
|
imports: [
|
|
|
|
|
'vue',
|
|
|
|
|
'uni-app',
|
|
|
|
|
'pinia',
|
|
|
|
|
],
|
|
|
|
|
dts: true,
|
|
|
|
|
vueTemplate: true,
|
|
|
|
|
})
|
|
|
|
|
]
|
|
|
|
|
})
|
|
|
|
|
}
|