gpt4 book ai didi

javascript - Typescript - 将所有源文件与 node_modules 中所需的外部模块捆绑在单个输出中

转载 作者:行者123 更新时间:2023-12-03 04:50:38 26 4
gpt4 key购买 nike

我正在使用 typescript 将我的应用程序捆绑到单个 .js 文件中。据我了解,从 TS 1.8 开始这是可能的(我正在使用 2.1)。这是我的 .tsconfig

{
"compileOnSave": true,
"compilerOptions": {
"experimentalDecorators": true,
"alwaysStrict": true,
"jsx": "react",
"noEmitOnError": true,
"outFile": "dist/bundle.js",
"moduleResolution": "node",
"preserveConstEnums": true,
"removeComments": true,
"sourceMap": true,
"target": "es5",
"module": "system"
},
"exclude": [
"node_modules",
"wwwroot"
]
}

这确实创建了bundle.js 文件,但从node_modules 引用的模块并不在此包中。是否可以以某种方式将模块添加到 bundle 中?

我知道这可以使用 Webpack 或类似工具来完成,但我的问题是是否可以仅使用 typescript 来完成

最佳答案

简短的回答是否定的。

长答案是,在某些情况下您可以这样做,但可能不应该尝试。 TSC 作为 TypeScript 到 JavaScript 的编译器,转换文件并检查其有效性。创建适当的 bundle ,尤其是从不同版本的 JavaScript 依赖项创建适当的 bundle ,具有完全不同的一组要求和期望,这些要求和期望不属于转译器的范围。

some cases您可以在其中拥有纯粹的基于 TSC 的捆绑工作流程,这样做甚至可能是有意义的。但这些必然意味着您正在处理纯粹的 TypeScript 解决方案,并不能真正满足您对真实 bundle 的期望。

一开始这听起来像是不必要的复杂化,但 Webpack 是正确的选择,即使对于库也是如此。

关于javascript - Typescript - 将所有源文件与 node_modules 中所需的外部模块捆绑在单个输出中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42674946/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com