vite.config.build.ts 1.4 KB

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