| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- import path from 'node:path'
- import uni from '@dcloudio/vite-plugin-uni'
- import UniComponents from '@uni-helper/vite-plugin-uni-components'
- import UniLayouts from '@uni-helper/vite-plugin-uni-layouts'
- import UniPages from '@uni-helper/vite-plugin-uni-pages'
- import UniPlatform from '@uni-helper/vite-plugin-uni-platform'
- import vueJsx from '@vitejs/plugin-vue-jsx'
- import { NutResolver } from 'nutui-uniapp'
- import UnoCSS from 'unocss/vite'
- import AutoImport from 'unplugin-auto-import/vite'
- import Components from 'unplugin-vue-components/vite'
- import { defineConfig, loadEnv } from 'vite'
- import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
- import UniProvider from './build/vite-plugin-uni-provider'
- const root = process.cwd()
- function pathResolve(dir: string) {
- return path.resolve(root, '.', dir)
- }
- // https://vitejs.dev/config/
- export default defineConfig(({ mode }) => {
- const env = loadEnv(mode, process.cwd(), '')
- return {
- resolve: {
- alias: {
- '@': pathResolve('src'),
- },
- },
- server: {
- proxy: {
- '/api': {
- target: env.VITE_APP_BASE_API, // 对应自己的接口
- changeOrigin: true,
- rewrite: (path) => path.replace(/^\/api/, ''),
- },
- },
- },
- plugins: [
- UniPages({
- homePage: 'pages/privacy/index',
- exclude: ['**/components/**/*.*'],
- subPackages: ['src/pages-sub'],
- }),
- UniPlatform(),
- UniLayouts(),
- UniComponents({
- resolvers: [NutResolver()],
- }),
- uni(),
- // 自动注册页面全局组件
- UniProvider(),
- UnoCSS(),
- vueJsx(),
- createSvgIconsPlugin({
- iconDirs: [pathResolve('src/static/icons')],
- symbolId: 'icon-[dir]-[name]',
- svgoOptions: true,
- }),
- Components({
- // 按需导入组件,相关组件声明放置于 components.d.ts
- dts: './types/components.d.ts',
- }),
- AutoImport({
- include: [
- /\.[tj]sx?$/, // .ts, .tsx, .js, .jsx
- /\.vue$/,
- /\.vue\?vue/, // .vue
- ],
- dirs: ['./src'],
- imports: [
- 'vue',
- 'uni-app',
- {
- 'nutui-uniapp/composables': [
- // 在这里添加需要自动导入的API
- 'useToast',
- ],
- },
- ], // 限定范围为 vue, uni-app
- dts: 'types/auto-import.d.ts', // 自动生成 'auto-import.d.ts'全局声明
- }),
- ],
- // build: {
- // // 方便非h5端调试
- // sourcemap: env.VITE_SHOW_SOURCEMAP === 'true', // 默认是false
- // target: 'es6',
- // // 开发环境不用压缩
- // minify: mode === 'development' ? false : 'terser',
- // terserOptions: {
- // compress: {
- // drop_console: env.VITE_DELETE_CONSOLE === 'true',
- // drop_debugger: true,
- // },
- // },
- // },
- }
- })
|