1

通过$ npm create vite@latest创建vite项目的时候,在vite.confog.ts文件中添加alias别名时,想要引入node的path模块,会报错
image.png

原因:path模块是node.js内置的功能,但是node.js本身并不支持ts
解决方案:安装@types/node

npm install @types/node -D

方案一:

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'

export default defineConfig({
  plugins: [vue()],
  resolve: {
    // 配置别名
    alias: {
        "@": resolve(__dirname, "src"),
        "@c": resolve(__dirname, "src/components"),
    }
  }
})

如果就是习惯了vue2的写法,方案二:

...
import path from 'path';  

export default defineConfig({
  resolve: {
    alias: {
        "@": path.resolve(__dirname, "src"),
        "@c": path.resolve(__dirname, "src/components"),
    }
  }
})

此时会遇到模块 ""path"" 只能在使用 "allowSyntheticDefaultImports" 标志时进行默认导入的报错
image.png
tsconfig.node.json添加compilerOptions对象属性添加"allowSyntheticDefaultImports": true即可
image.png


一斤代码
33 声望1 粉丝