Jav*_*ice 4 javascript import export ecmascript-6
关于 ES6 导入的非常基本的问题。为什么要导出模块,然后再导入到另一个JS文件中?我们这样做有什么好处?在不进行导出和导入的情况下,还有哪些其他方法(即使它很粗糙)来实现这一目标?换句话说,如果我要在 ES5 上工作,我将如何进行导出和导入?
谢谢!
为什么要导出模块,然后再导入到另一个JS文件中?我们这样做有什么好处?
模块的全部意义在于为开发人员提供一种方便、干净和简单的方式来组织他们的代码到可重用或可共享的模块中。因此,使用模块的重点是以模块化方式开发代码。
模块可以:
虽然所有这些都可以在没有语言定义的结构的情况下完成,但人们可能会有很多不同的方式来实现,而很少有人会为了这些好处来构建他们的代码。
通过 NPM 提供数千个模块的 node.js 开发可以非常清楚地看到这些好处。如果没有每个人都订阅的标准模块设计,就很难共享大量的代码片段,这些代码片段都做不同的事情。ES6 模块系统是对这种机制进行标准化的尝试。
如果我要在 ES5 上工作,我将如何进行导出和导入?
您必须找到要采用的 3rd 方模块系统(在 ES6 之前的日子里有很多,例如 AMD 或 CommonJS),或者构建自己的或不使用并且可能会放弃上述一些好处。node.js 模块系统就是这样一种在 Javascript 语言标准之外设计的系统。因为它内置于 node.js 并且是 node.js 项目加载多个源文件的主要机制,所以它成为 node.js 开发的事实上的标准。
或者,您现在可以使用像 Babel 这样的转译器,它可以让您在 ES6 中编写代码,然后他们会为您将其转换为与 ES5 兼容的代码。您向适合构建过程的代码添加一个“构建”步骤,有点像编译另一种语言(除非您进行的是转译而不是编译),并且您可以获得在 ES6 中编写和调试的优势,但您的代码保持兼容性使用 ES5 运行时引擎(例如旧浏览器),只有一些限制。
这是一篇关于为什么使用模块的有用文章,以获取有关该主题的更多信息?
| 归档时间: |
|
| 查看次数: |
1260 次 |
| 最近记录: |