我通过pnpm
的workspace
搭建了一个工作环境,并且在项目中安装typescript
,但是在packages
中的项目中无法识别别名文件的路径。报错如下:
Cannot find module 'store/modules/language' or its corresponding type declarations.Vetur(2307)
我在对应的packages
项目中添加了tsconfig.json
,配置如下:
{
"compilerOptions": {
"skipLibCheck": true,
"target": "es2022",
"module": "esnext",
"useDefineForClassFields": true,
"moduleResolution": "Node",
"strict": true,
"jsx": "preserve",
"sourceMap": false,
"noImplicitAny": true,
"resolveJsonModule": true,
"esModuleInterop": true,
"strictNullChecks": false,
"noEmit": true,
"lib": ["esnext", "dom"],
"types": ["vite/client"],
"baseUrl": "./",
"paths": {
"@/*": ["src/*"],
"components/*": ["src/components/*"],
"api/*": ["src/apis/*"],
"api": ["src/apis/index"],
"util/*": ["src/utils/*"],
"pages/*": ["src/pages/*"],
"hooks/*": ["src/hooks/*"],
"router/*": ["src/routers/*"],
"language/*": ["src/language/*"],
"types/*": ["types/*"],
"plugin/*": ["src/plugins/*"],
"plugin": ["src/plugins/index"],
"store/*": ["src/stores/*"],
"store": ["src/stores/index"],
"style/*": ["src/style/*"],
"setting/*": ["src/settings/*"],
"image/*": ["src/assets/images/*"]
}
},
"include": [
"src/**/*.ts",
"src/**/*.d.ts",
"src/**/*.tsx",
"src/**/*.vue",
"mock/**/*.ts",
"types/**/*.d.ts",
"types/**/*.ts",
"build/**/*.ts",
"build/**/*.d.ts"
],
"exclude": ["node_modules", "dist", "**/*.js"]
}
配置中已经包含了,对应的文件路径,在vite.config.ts
也配置了相应的别名路径,项目时可以正常运行的。只是vscode会抛出这个错误,**.ts
文件不会有问题,只有**.vue
文件才会有这样的问题,我现在不知道哪里有问题了?
有没有大佬帮帮我~
可能是Vetur 插件可能无法解析你 tsconfig.json 文件里的路径别名。你可以在项目根目录下新建一个jsconfig.json的文件, 把tsconfig.json 里的配置复制到 jsconfig.json 文件里。
json
{
"compilerOptions": {
"skipLibCheck": true,
"target": "es2022",
"module": "esnext",
"useDefineForClassFields": true,
"moduleResolution": "Node",
"strict": true,
"jsx": "preserve",
"sourceMap": false,
"noImplicitAny": true,
"resolveJsonModule": true,
"esModuleInterop": true,
"strictNullChecks": false,
"noEmit": true,
"lib": ["esnext", "dom"],
"types": ["vite/client"],
"baseUrl": "./",
"paths": {
"@/*": ["src/*"],
"components/*": ["src/components/*"],
"api/*": ["src/apis/*"],
"api": ["src/apis/index"],
"util/*": ["src/utils/*"],
"pages/*": ["src/pages/*"],
"hooks/*": ["src/hooks/*"],
"router/*": ["src/routers/*"],
"language/*": ["src/language/*"],
"types/*": ["types/*"],
"plugin/*": ["src/plugins/*"],
"plugin": ["src/plugins/index"],
"store/*": ["src/stores/*"],
"store": ["src/stores/index"],
"style/*": ["src/style/*"],
"setting/*": ["src/settings/*"],
"image/*": ["src/assets/images/*"]
}
},
"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"]
}
保存jsconfig.json文件,然后重启 VSCode,这样 Vetur 插件可以用这个配置来识别别名。
我已在中声明了命名空间。d、 ts应在全球范围内提供,如下所示: 我想将此命名空间用于TSX文件中的接口: Types cript现在告诉我:。 我的tsconfig如下所示:
在写nodejs文件的时候发现,明明是js文件却有类型提示,甚至按住Ctrl点击也会跳转到对应的 .d.ts 声明文件,这是为什么呢? 项目目录 package.json 现象
//自己写的声明文件 要怎么写 //源文件
当我运行< code > ts-node node _ modules/jasmine/bin/jasmine 时,我得到这些错误: 这是那个全局文件: 以下是我的index.d.ts: 它们都在同一个目录中,Visual Studio代码没有抱怨任何事情。为什么 ts-node 似乎找不到我的类型定义文件? 我谷歌了这个,发现了这个网站:https://github.com/TypeStrong
Vue3+Ts开发中 .vue 文件不声明 lang=ts 无代码提示,不知道怎么解决
TS7016:找不到模块rxjs的声明文件。'C:/Path/to/project/node_modules/rxjs/dist/cjs/index.js'隐含有'any'类型。如果存在,请尝试npm i--save-dev@type/rxjs,或者添加一个新的声明(.d.ts)文件,其中包含'声明模块'rxjs'; 我已经将NestJs更新为版本8,将rxjs更新为版本7。之后,导入停止工作。有