Javascript 如果我使用ES6,是否需要浏览?
我正在用ES6创建一个新项目,并制作一个构建脚本 我想知道当你已经有了ES6导入时,browserify的价值是什么Javascript 如果我使用ES6,是否需要浏览?,javascript,ecmascript-6,browserify,Javascript,Ecmascript 6,Browserify,我正在用ES6创建一个新项目,并制作一个构建脚本 我想知道当你已经有了ES6导入时,browserify的价值是什么 如果我将我的gulp脚本指向最小化并删除我的“入口”脚本的控制台日志等,我是否需要browserify?(即,我的输入脚本将使用ES6导入来导入使用的任何子js文件。在我的子js文件中,如果他们使用另一个js文件中的内容,他们也将导入该内容,等等)Browserify和Webpack与模块交互,但不是以语法方式。语言或运行时提供了import或require调用,具体取决于您使用
如果我将我的gulp脚本指向最小化并删除我的“入口”脚本的控制台日志等,我是否需要browserify?(即,我的输入脚本将使用ES6导入来导入使用的任何子js文件。在我的子js文件中,如果他们使用另一个js文件中的内容,他们也将导入该内容,等等)Browserify和Webpack与模块交互,但不是以语法方式。语言或运行时提供了
import
或require
调用,具体取决于您使用的是ES6还是Node,但绑定器实际上会将这些模块合并到一个文件中
在此过程中,大多数绑定器都会执行一些优化。常见的有:
- 将ES6转换为旧版本(ES5甚至ES3)
- 缩小/丑化
- 包括CSS、图像和其他非脚本数据
目前还没有任何JavaScript环境支持ES6模块。因此,您必须将文件转换为您的目标环境使用/支持的模块系统,并/或将其捆绑(例如,使用browserify)。如果您将导入语句转换为commonjs,则需要传输ES6,然后browserify将为您绑定这些模块。
…但绑定器实际上会将这些模块合并到一个文件中
。。你是说,import
不会将它们全部放在一个文件中吗?@Chowza it肯定不会<代码>导入将导致运行时加载并执行该文件,然后返回一个引用,但不会对它们进行组合。Webpack(在较小程度上是Browserify)将查找导入,合并所有提到的文件,然后检查未使用的代码并将其删除,优化所有内容,并为用户留下一个较小的文件。@ssube:问题是,没有一个浏览器支持ES6模块,而不是ES6导入。因此,您需要捆绑机。