编译单输出文件typescript正在尝试在浏览器中加载节点模块

时间:2018-01-07 15:46:30

标签: typescript tsconfig

我有一个tsconfig文件,它将前端打字稿应用程序构建到单个输出:

{
    "compilerOptions": {
        "target": "es5",
        "module": "system",
        "lib": [
            "es2015",
            "es2015.iterable",
            "dom"
        ],
        "sourceMap": true,
        "outFile": "output.js",
        "strict": true
    }
}

我使用<script>标签在浏览器中加载输出,我使用systemjs [https://jspm.io/system@0.19.34.js]和代码片段来引导应用程序:

SystemJS.import("Application")
    .then((module) => {
        console.log(module);
    })
    .catch((error) => {
        console.error(error);
    });

我对如何编译应用程序的理解是,所有npm依赖项都应该内置到output.js文件中。但是,我在检查器中的情况并非如此,浏览器正试图在lodash加载https://registry.jspm.io/lodash.js模块

1 个答案:

答案 0 :(得分:1)

  

所有npm依赖项都应该内置到output.js文件中

不,不是。 Typescript compile的输出文件只影响项目的代码,而不影响那些代码中导入的任何模块。如果你想拥有浏览器包,你应该使用像webpack等的捆绑包。