我最近开始在我的 Angular 2 应用程序中使用 SystemJS。但是,这给我带来了麻烦,因为我不能让它用 JS 文件替换 TS 文件。
例如考虑以下导入:
主.ts
import {SubscriptionsComponent} from './subscriptions.ts';
import {WelcomeComponent} from './welcome.ts';
main.js(编译结果)
System.register(['./subscriptions.ts', './welcome.ts'], function(exports_1) {
// ...
});
我希望 SystemJS 然后请求 subscriptions.js
,但请求 subscriptions.ts
,导致 404。
我不想使用转译器 - 我只是想让 SystemJS 以某种方式理解我需要请求 JS 文件。
这是我认为会有所帮助的配置(但是,这仅在包含 foo.ts
而不是 ./foo.ts
之类的内容时有效)。
System.config({
"baseURL": '/',
"defaultJSExtensions": false,
"paths": {
"*.ts": "*.js"
}
});
System.import('components/main.ts');
有趣的是它没有请求components/main.ts
,它实际上请求了components/main.js
。如果 main.ts
包含其他文件,它就不起作用。
最佳答案
如果您不想使用转译器,请在您的配置中添加 transpiler: none
。
更改 "defaultJSExtensions": true
并忽略导入中的扩展。
您是否仍然看到错误?
关于typescript - SystemJS 没有用 JS 文件替换 TS 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34545725/