为避免在导入中出现过长的路径,我正在使用Typescript的baseUrl选项来配置我的tsconfig.json文件。
这是我的tsconfig.json文件:
这是我的tsconfig.json文件:
{
"compilerOptions": {
"target": "ES6",
"module": "none",
"removeComments": true,
"rootDir": "./",
"outDir": "Build",
"moduleResolution": "node",
"noImplicitAny": true,
"pretty": true,
"baseUrl": "./"
},
"exclude": [
"node_modules",
"Build"
]
}
所以不要这样做
import foo from "../../../../hello/foo"
我做这件事
import foo from "hello/foo"
在 TypeScript 编译器中一切正常,但当我用 Node.js 运行我的应用程序时,出现了这个错误:
module.js:474
throw err;
^
Error: Cannot find module 'hello/foo'
P.s: 我不想像在互联网上看到的那样替换 require()
函数。
那么我该如何让 node.js 使用 baseUrl 或者让 typescript 将路径替换成 "../../../../hello/foo"
?
Typescript 编译器版本:
Version 2.3.0-dev.20170303
NODE_PATH=./ ts-node --compiler-options {"module":"CommonJS"} prisma/seed.ts
...运行种子命令时发生错误: Error: Command failed with ENOENT: NODE_PATH=./ ts-node --compiler-options {"module":"CommonJS"} prisma/seed.ts spawn NODE_PATH=./ ENOENT``` - Dimitri Borgers