带有 TypeScript 转译器的 JSPM 捆绑包

JSPM Bundle with TypeScript transpiler

我越来越喜欢 System.js 和 JSPM,我已经到了想要将我的 TypeScript 源代码捆绑到 JavaScript 包中的地步。

现在我可以将生成的 JavaScript 代码与以下内容捆绑在一起: jspm bundle some/source/path someDestFile.js

但是我需要先将我所有的 TypeScript 预构建到 JavaScript 和 然后 包中,发现自己剩下所有编译的(和分离的)JS 文件.这远非理想!

我浏览了 jspm 文档 here,但没有找到解决方案。

明确一点,我不想在我的浏览器中编译 TypeScript,而是预编译的实体包 JavaScript。

我该怎么做?

P.S。我使用了 TypeScript 转译器安装 here

您可以使用 JSPM 生成器来完成。 您可以将所有 typescript 文件和 bundlesfx 捆绑到一个文件中,像这样配置 jspm.conf.js:

System.config({
    defaultJSExtensions: true,
    transpiler: "typescript",
    typescriptOptions: {
        "module": "amd",
        "experimentalDecorators": true
    },
    ...
    packages: {
        "app": {
            "main": "index",
            "defaultExtension": "ts",
            "meta": {
                "*.ts": {
                    "loader": "ts"
                }
            }
        }
});

然后 运行 :

jspm bundle-sfx src/index dist/app.js

您可以在此处查看完整的工作示例:https://github.com/b091/ts-skeleton/

我认为这个问题已经过时了。我刚刚用 JSPM 0.17.0-beta.31 和 plugin-typescript (https://github.com/frankwallis/plugin-typescript) 尝试了这个,"jspm bundle" 确实为我预翻译了 TypeScript。

"jspm bundle-sfx" 现在是 "jspm build"。因为最初接受的答案建议切换到 bundle-sfx (build),现在应该不需要了,我想澄清一下是使用 bundle 还是 build 的决定。我发现 bundle 对于加快开发更有用,而构建可以生成更小的文件并进行更多优化,因此您可能希望在开发期间使用 bundle 并在发布时构建。请注意,如果您在库上使用构建,导入您的库的代码将无法共享其依赖项。