【发布时间】:2020-01-30 21:11:34
【问题描述】:
我正在尝试使用 TypeScript 的路径功能,以便不再需要使用相对导入。
这是我的 tsconfig.json 文件:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"strict": true,
"esModuleInterop": true,
"outDir": "./dist",
"rootDir": ".",
"moduleResolution": "node",
"allowSyntheticDefaultImports": true,
"resolveJsonModule": true,
"baseUrl": ".",
"allowJs": true,
"paths": {
"*": ["node_modules/*", "src/*"],
"@config/*": ["src/config/*"],
"@controllers/*": ["src/controllers/*"],
"@middlewares/*": ["src/middlewares/*"],
"@models/*": ["src/models/*"],
"@routes/*": ["src/routes/*"],
"@types/*": ["src/types/*"],
"@utils/*": ["src/utils/*"]
}
},
"include": ["src/**/*"],
"exclude": ["node_modules", "firebase-config.json", "webpack.config.js"]
}
这是我的 package.json 文件:
{
"name": "express-ts-boilerplate",
"version": "0.1.0",
"description": "Express Typescript Boilerplate",
"main": "src/server.js",
"author": "Sriram R",
"scripts": {
"start": "NODE_ENV=production node dist/src/app.js",
"dev": "nodemon src/app.ts",
"build": "tsc -p .",
"test": "mocha --exit -r ts-node/register src/tests/*.spec.ts"
},
"dependencies": {
// Dependencies here
},
"devDependencies": {
// Dependencies here
},
}
所以现在在我的一个文件中,我尝试@config/typeConfig,但我得到cannot find module 错误。
也许是因为nodemon,但它也不适用于ts-node。
我怎样才能让它工作?
【问题讨论】:
-
“所以现在在我的一个文件中”。哪个文件?它位于哪里?
-
它位于 src 文件夹下。我要导入配置变量的服务器文件。
-
很奇怪。我试图复制你的问题,它在这里工作正常。你怎么会有nodemon src/app.ts?
-
因为我在开发过程中使用nodemon运行。这就是我怀疑问题所在。
-
不应该是nodemon dist/src/app.js吗?
标签: typescript nodemon ts-node