未找到 tsconfig.json 中的 TypeScript 路径别名
Posted
技术标签:
【中文标题】未找到 tsconfig.json 中的 TypeScript 路径别名【英文标题】:TypeScript path aliases in tsconfig.json not found 【发布时间】:2021-11-29 13:42:05 【问题描述】:在 tsconfig.json 中找不到用户定义的路径——TypesScript 说…… 我已经重新初始化了整个项目。使用股票 ts 配置,检查每个设置,更新所有内容。它只是不想工作。
项目结构:
|-./
|--index.ts
|--package.json
|--tsconfig.json
|--database/
|---dbOperations/
|----index.ts
|--api/
|---server.ts
package.json:
"name": "name",
"version": "0.1.0",
"private": true,
"description": "desc.",
"main": "index.ts ",
"scripts":
"test": "jest --config jest.config.json",
"tsnode": "ts-node index.ts",
"lint": "eslint '**/*.ts' --ignore-pattern node_modules/",
,
"license": "ISC",
"devDependencies":
"@babel/core": "^7.15.0",
"@babel/preset-env": "^7.15.0",
"@babel/preset-typescript": "^7.15.0",
"@types/cors": "^2.8.12",
"@types/express": "^4.17.13",
"@types/jest": "^27.0.1",
"@typescript-eslint/eslint-plugin": "^4.32.0",
"@typescript-eslint/parser": "^4.32.0",
"eslint": "^7.32.0",
"jest": "^27.1.0",
"nodemon": "^2.0.12",
"ts-jest": "^27.0.5",
"ts-node": "^10.1.0",
"typescript": "^4.3.5"
,
"dependencies":
"express": "^4.17.1",
tsconfig.json(tsc --init 之后的初始配置,带有路径):
"compilerOptions":
"strict": true,
"target": "es5",
"module": "commonjs",
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"baseUrl": ".",
"paths":
"@app/*": [
"./*"
],
"@api/*": [
"api/*"
],
"@database/*": [
"database/*"
],
"@dbOperations": [
"database/dbOperations/index.ts"
]
,
当我在/api/server.ts
中执行import x, y, z from "@dbOperations"
时,它不起作用。
tsnode 抛出:
Error: Cannot find module '@dbOperations'
有什么建议吗?
【问题讨论】:
【参考方案1】:TypeScript 仅在编译时使用tsconfig.json
中定义的路径,但它实际上并不输出 Node 可以理解的有效路径。您必须安装 tsconfig-paths 才能使其工作。
【讨论】:
以上是关于未找到 tsconfig.json 中的 TypeScript 路径别名的主要内容,如果未能解决你的问题,请参考以下文章
es6 和 es2017 之间 tsconfig.json 中“lib”属性的区别?
tsconfig.json 中的 **/node_modules/* 是啥意思?
如何使用 tsconfig.json 中的设置从命令行键入检查单个文件?