vite.config.build.ts 1.6 KB

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