vite.config.build.taro.vue.ts 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import { defineConfig } from 'vite';
  2. import vue from '@vitejs/plugin-vue';
  3. import path from 'path';
  4. export default defineConfig({
  5. define: {
  6. 'process.env.TARO_ENV': 'process.env.TARO_ENV'
  7. },
  8. resolve: {
  9. alias: [{ find: '@', replacement: path.resolve(__dirname, './src') }]
  10. },
  11. css: {
  12. preprocessorOptions: {
  13. scss: {
  14. // example : additionalData: `@import "./src/design/styles/variables";`
  15. // dont need include file extend .scss
  16. additionalData: `@import "@/packages/styles/variables.scss";@import "@/sites/assets/styles/variables.scss";`
  17. }
  18. }
  19. },
  20. plugins: [
  21. vue({
  22. template: {
  23. compilerOptions: {
  24. isCustomElement: (tag) => {
  25. return (
  26. tag.startsWith('swiper') ||
  27. tag.startsWith('swiper-item') ||
  28. tag.startsWith('scroll-view') ||
  29. tag.startsWith('picker') ||
  30. tag.startsWith('picker-view') ||
  31. tag.startsWith('picker-view-column')
  32. );
  33. },
  34. whitespace: 'preserve'
  35. }
  36. }
  37. })
  38. ],
  39. build: {
  40. minify: false,
  41. rollupOptions: {
  42. // 请确保外部化那些你的库中不需要的依赖
  43. external: ['vue', 'vue-router', '@tarojs/taro', '@tarojs/components', '@nutui/icons-vue-taro'],
  44. output: {
  45. // 在 UMD 构建模式下为这些外部化的依赖提供一个全局变量
  46. globals: {
  47. vue: 'Vue'
  48. },
  49. plugins: []
  50. }
  51. },
  52. lib: {
  53. entry: 'src/packages/nutui.taro.vue.build.ts',
  54. name: 'nutui',
  55. fileName: 'nutui',
  56. formats: ['umd']
  57. }
  58. }
  59. });