你如何构建、捆绑和缩小 ES6 模块?

12 javascript bundle minify es6-modules

由于事实,ES6 模块(JavaScript 模块)可用于测试:

我想知道,我应该如何缩小和准备项目发布文件?早些时候,我已经将所有 JavaScript 文件捆绑到单个和缩小的文件中,除了我必须通过 XHR 或 Fetch API 动态加载 JS 文件的情况。

据我所知,现在准备一个带有 ES6 模块的单个缩小文件是不可能的,或者可能是,我只是误解了一些工作方式。

那么,有什么方法可以将我的 ES6 模块准备到单个文件中,以及我应该如何在 2017 年准备现代 JavaScript 项目,其中 JavaScript 模块将可用?

Vla*_*ost 0

我想知道,我应该如何缩小和准备项目发布文件?

这就是这次行动的目的?好吧,缩小的文件占用的网络流量更少,下载速度也会更快,但大多数 NPM 库都提供缩小的文件dist已经提供了缩小的文件。关于捆绑在一个大文件中的主要问题。

为什么webpack要这么做?当然,由于浏览器中原生不支持 ES 模块,这就是 webpack 解析的原因import以同步方式解析语句和轮依赖关系*,然后将其替换为 IIFE 进行范围界定。并执行 babel 翻译和填充,是的。

但当 ES 模块的本机支持开始后,它就变得没有用了。将 Web 应用程序投入生产时的主要目标之一是使用 CDN 最小化服务器的流量。现在您可以以本机方式完成此操作,因此只需从以下位置导入 ES 模块即可unpkg.org可以了

*当然,如果不使用HMR,但它不适合生产模式。

此处的实例:https ://jakearchibald.com/2017/es-modules-in-browsers/