现在,Node tsc编译器会查看看起来像这样的tsconfig.json
文件:
{
"compilerOptions": {
"target": "es5",
"module": "system",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": true,
"suppressImplicitAnyIndexErrors": true
}
}
使用"module": "system"
行,您可以指定它以使用SystemJS来管理模块。是否可以配置SystemJS将使用哪个配置文件?我希望能够指定自定义模块,以便Typescript不会抱怨它们,而无需为每个模块创建单独的.d.ts
文件。它现在似乎没有systemjs.config.js
或system-config.js
。
答案 0 :(得分:1)
我对SystemJS
文件中使用tsconfig.json
配置的评论仍然相关,因为没有选择这样做。
但是,既然我明白了你想要的东西,那么如果你以正确的方式构建你的代码,就可以使用打字稿。 我们假设以下模块:
在开发中你想要从./ModuleA/SubModuleOne
导入,但在prod中它应该来自./ModuleA
,因为你将所有内部模块编译成一个同名的文件。
那么总是从./ModuleA
导入怎么样?
根据{{3}}:
导入语句,例如来自“./moduleB”的import {b} /root/src/moduleA.ts会导致尝试以下操作 用于定位“./moduleB”的位置:
- /root/src/moduleB.ts
- /root/src/moduleB.tsx
- /root/src/moduleB.d.ts
- /root/src/moduleB/package.json(如果它指定了“typings”属性)
- /root/src/moduleB/index.ts
- /root/src/moduleB/index.tsx
- /root/src/moduleB/index.d.ts
醇>
因此,如果您有./ModuleA/index.d.ts
(或.ts
,那么您可以在其中包含所有内部模块,然后只需从./ModuleA
导入即可在dev和prod中使用。 />
它有点像带有__init__.py
希望能为你效劳。