主要注意tsconfig, 结合vite配置别名

    1. {
    2. "compilerOptions": {
    3. ......
    4. "baseUrl": "./",
    5. ......
    6. "paths": {
    7. "@": ["./src"],
    8. }
    9. },
    10. "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue", "src/**/*.js"],
    11. "references": [{ "path": "./tsconfig.node.json" }]
    12. }
    1. import { defineConfig } from "vite";
    2. import vue from "@vitejs/plugin-vue";
    3. import path from "path";
    4. import Components from "unplugin-vue-components/vite";
    5. import { NaiveUiResolver } from "unplugin-vue-components/resolvers";
    6. const pathSrc = path.resolve(__dirname, 'src')
    7. export default defineConfig({
    8. base: process.env.NODE_ENV === "development" ? "/" : "./",
    9. resolve: {
    10. alias: [
    11. {
    12. find: "@",
    13. replacement: path.resolve(__dirname, "src"),
    14. },
    15. ],
    16. },
    17. css: {
    18. preprocessorOptions: {
    19. scss: {
    20. charset: false,
    21. additionalData: `@import './src/styles/index.scss';`,
    22. },
    23. },
    24. },
    25. build: {
    26. reportCompressedSize: false,
    27. chunkSizeWarningLimit: 2000,
    28. },
    29. plugins: [
    30. vue(),
    31. Components({
    32. resolvers: [NaiveUiResolver()],
    33. dts: path.resolve(pathSrc, 'components.d.ts'),
    34. })
    35. ],
    36. });