【发布时间】:2019-04-12 03:42:43
【问题描述】:
我试图弄清楚是否应该在节点应用程序的后端使用 webpack(用打字稿编写),主要是因为节点有一个内置的模块加载器。我使用 tsc 将 .ts 文件转换为 .js ,节点中的模块加载器在运行时加载文件。使用 webpack 有什么好处?
谢谢
【问题讨论】:
我试图弄清楚是否应该在节点应用程序的后端使用 webpack(用打字稿编写),主要是因为节点有一个内置的模块加载器。我使用 tsc 将 .ts 文件转换为 .js ,节点中的模块加载器在运行时加载文件。使用 webpack 有什么好处?
谢谢
【问题讨论】:
以下是在后端使用 Webpack 之类的打包工具的一些优势:
它允许您将应用代码捆绑到一个仅包含相关代码的压缩文件中。
当您想要最小化包的大小或想要创建一个可以在没有 node_modules 目录的情况下运行的独立文件时,这尤其有用。
它通过最小化包大小和模块查找所需的时间来帮助您缩短应用启动时间。
它可以在服务器端加载热代码(也可以在没有 webpack 的情况下完成)
它使您可以使用其他 webpack 插件和加载器。
考虑到所有这些优点,它有自己的怪癖,并且会使事情变得比应有的复杂。所以很明显,只有在绝对必要时才使用它。
【讨论】:
没有硬性规定你必须使用webpack 来捆绑你的节点应用程序。但是,当你有能力为什么不使用它时,Webpack 是一个很棒的有益健康的应用程序捆绑器。使用的两个主要优点它是
热重载 - 随时关注指定的更改和重载
别名 - 给出基于 webpack 中的数组配置解析的托管路径
如果你仔细阅读它的文档,最好的线路就会发挥作用
它是一个工具,可让您捆绑 JavaScript 应用程序 (同时支持 ESM 和 CommonJS)并且可以扩展支持 许多不同的资产,例如图像、字体和样式表。
webpack 关心性能和加载时间;它总是在改进 或添加新功能,例如异步块加载和预取, 为您的项目和您的项目提供最佳体验 用户。
【讨论】:
> But, when you have the capability why not use it ,Webpack is an awesome wholesome application bundler and transpiler. 仅仅因为您可以使用某些东西,并不意味着您应该使用它。 Webpack 也是一个打包器,而不是一个转译器。它可以与其他转译器集成,但 Webpack 本身就是一个打包器。