System.JS的Typescript outfile - 模块实例化错误

时间:2017-04-18 15:52:21

标签: javascript typescript systemjs

我正在使用TypeScript生成一个outFile来编译我的模块,并加载了SystemJS。当我按照documentation on loading bundles的建议关注this SO answer时,出现错误:

Uncaught (in promise) Error: Module instantiation did not call an anonymous or correctly named System.register.
    Instantiating http://localhost:50001/Content/js/app.js
    Loading app.js
        at vendor.js?v=c419d08…:4

以下是我的index.html文件中的安装脚本:

SystemJS.import("/Content/js/app.js").then(function (mod) {
    return SystemJS.import("admin/js/startup");
});

app.js看起来像这样:

System.register("shared/js/utilities", [], function (exports_1, context_1) {
    ...
});

System.register("admin/js/startup", ["shared/js/utilities"], function (exports_2, context_2) {
    ...
});

我的tsconfig.json,如果有帮助:

{
    "compilerOptions": {
        "noImplicitAny": false,
        "noEmitOnError": true,
        "removeComments": false,
        "sourceMap": true,
        "target": "es5",
        "module": "system",
        "outFile": "app.js"
    },
    "compileOnSave": true,
    "exclude": [
        "node_modules",
        "wwwroot"
    ]
}

更新:我一直在使用systemjs/dist/system-production.js,因为the documentation表明模块已经转换为System.register格式,这是由TypeScript完成的,可以是由生产装载程序加载。如果我切换到使用systemjs/dist/system.js,我不会收到错误。如果我已经使用System.register格式化模块,我仍然不知道如何从生产加载程序中获取此错误。

0 个答案:

没有答案