已编译的单个输出文件打字稿正在尝试在浏览器中加载节点模块
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 等捆绑器。
我有一个 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 等捆绑器。