vite.config.build.ts 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import { defineConfig } from 'vite';
  2. import dts from 'vite-plugin-dts';
  3. import vue from '@vitejs/plugin-vue';
  4. import path from 'path';
  5. import config from './package.json';
  6. const banner = `/*!
  7. * ${config.name} v${config.version} ${new Date()}
  8. * (c) 2022 @jdf2e.
  9. * Released under the MIT License.
  10. */`;
  11. export default defineConfig({
  12. resolve: {
  13. alias: [{ find: '@', replacement: path.resolve(__dirname, './src') }]
  14. },
  15. css: {
  16. preprocessorOptions: {
  17. scss: {
  18. // example : additionalData: `@import "./src/design/styles/variables";`
  19. // dont need include file extend .scss
  20. additionalData: `@import "@/packages/styles/variables.scss";@import "@/sites/assets/styles/variables.scss";`
  21. }
  22. },
  23. postcss: {
  24. plugins: [
  25. require('autoprefixer')({
  26. overrideBrowserslist: ['> 0.5%', 'last 2 versions', 'ie > 11', 'iOS >= 10', 'Android >= 5']
  27. })
  28. ]
  29. }
  30. },
  31. plugins: [vue()],
  32. build: {
  33. minify: false,
  34. terserOptions: {
  35. compress: {
  36. drop_console: true,
  37. drop_debugger: true
  38. }
  39. },
  40. rollupOptions: {
  41. // 请确保外部化那些你的库中不需要的依赖
  42. external: ['vue', 'vue-router'],
  43. output: {
  44. banner,
  45. // 在 UMD 构建模式下为这些外部化的依赖提供一个全局变量
  46. globals: {
  47. vue: 'Vue'
  48. }
  49. }
  50. },
  51. lib: {
  52. entry: 'src/packages/nutui.vue.build.ts',
  53. name: 'nutui',
  54. fileName: 'nutui',
  55. formats: ['es', 'umd']
  56. }
  57. }
  58. });