vite.config.build.single.ts 1.3 KB

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