【发布时间】:2017-07-30 14:04:51
【问题描述】:
事实上,ES6 模块(JavaScript 模块)可用于测试:
- https://www.chromestatus.com/feature/5365692190687232
- https://medium.com/dev-channel/es6-modules-in-chrome-canary-m60-ba588dfb8ab7
我想知道,我应该如何缩小和准备项目发布文件?早些时候,我已经将所有 JavaScript 文件捆绑到单个和缩小的文件中,除非我必须通过 XHR 或 Fetch API 动态加载 JS 文件。
据我了解,现在用 ES6 模块准备单个压缩文件是相当不可能的,或者可能是,我只是误解了一些工作方式。
那么,有什么方法可以将我的 ES6 模块准备成单个文件,以及我应该如何准备 2017 年的现代 JavaScript 项目,其中 JavaScript 模块将可用?
【问题讨论】:
-
使用像 webpack 这样的打包工具
-
之前,我已将所有 JavaScript 文件捆绑到单个缩小文件中:为什么您不能使用 ES2015 模块这样做?
-
@SvenvandeScheur webpack 是否与 ES6 模块一起工作?或者它只是将 JS 代码转换为带有源映射的 ES5 脚本?如果最后一个选项是正确的,那么它是 2017 年相当老的解决方案。如果 web 浏览器提供了使用 ES6 模块分离项目的新方法,为什么不找到如何以更愉快的方式使用现代特性的方法呢? PS:另外,我在 1 年前使用过 webpack,老实说……这是一个相当丑陋的设计项目(对我来说)。
-
@PeterMader 也许是因为,
import/export的东西他们有不同的范围。如果是单个文件,你将如何从模块 B 加载模块 A? -
Webpack 允许您以最少的配置捆绑 ES6 模块:例如ccoenraets.github.io/es6-tutorial/setup-webpack
标签: javascript bundle minify es6-modules