已编译的单个输出文件打字稿正在尝试在浏览器中加载节点模块

Compiled Single output file typescript is trying to load node modules in browser

我有一个 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] 和 bootstrap 应用程序的片段:

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

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

加载 lodash 模块的情况并非如此

all npm dependencies should be built into the output.js file

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