当我在我的NodeJS + Typescript应用程序中使用require
时,我必须将index.ts
文件添加到url中,否则我会得到en error Cannot find module './api'
,例如
const api = require('./api/index.ts')
- works
const api = require('./api')
-不工作
我的package.json
"dependencies": {
"@types/express": "^4.16.1",
"cors": "^2.8.5",
"express": "^4.16.4",
"mongoose": "^5.5.5",
"morgan": "^1.9.1",
"ts-node": "^8.1.0",
"ts-node-dev": "^1.0.0-pre.32",
"tslint": "^5.16.0",
"typescript": "^3.4.5"
}
发布于 2019-05-02 16:23:56
必须先将TypeScript源文件编译为JavaScript文件,然后才能由Node.js执行。
例如:npx tsc
。
发布于 2019-05-02 17:04:06
使用typescript
时,require
不是默认的导入格式,因此有时可能无法解析,请尝试改用import * as api from './api'
发布于 2019-05-02 16:19:39
这可能是一些事情的结果。您的package.json与TypeScript如何解决相对导入/请求没有多大关系。
检查tsconfig.json
文件中的target
、module
和moduleResolution
编译器选项。更具体地说,module
应设置为"commonjs"
(对于Node.js应用程序),moduleResolution
应设置为"node"
有关它的更多信息,请阅读。
https://stackoverflow.com/questions/55948171
复制相似问题