typescript - SystemJS 没有用 JS 文件替换 TS 文件?

标签 typescript systemjs

我最近开始在我的 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/

相关文章:

Angular 5 - 在运行时动态加载模块(编译时未知)

javascript - 在遵循 Angular2 Quickstart for beta.0 时无法加载 boot.js

systemjs - 从 requirejs 迁移到 systemjs : managing paths

node.js - 需要带有 TypeScript、SystemJS 和 Electron 的 nodejs "child_process"

typescript - 如何检查给定字符串是否作为值存在于 Typescript 的字符串枚举中?

Angular 4 : How to pass data from parent to child for children added through router

javascript - 使用 ES6 + Flow 代替 TypeScript

node.js - 调试 TypeScript VS Code 时的未绑定(bind)断点

javascript - 使用 TypeScript 声明 RequireJS 依赖项

javascript - 调试 SystemJS 模块加载?