我有一个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
模块
答案 0 :(得分:1)
所有npm依赖项都应该内置到output.js文件中
不,不是。 Typescript compile的输出文件只影响项目的代码,而不影响那些代码中导入的任何模块。如果你想拥有浏览器包,你应该使用像webpack等的捆绑包。