ES6导入声明的好处

Java新手

关于ES6导入的基本问题。为什么我们要导出模块,然后将其导入另一个JS文件?我们这样做有什么好处?还有什么其他方法(即使是粗略的)也可以完成此操作而不进行进出口?换句话说,如果我要使用ES5,该如何导出和导入?

谢谢!

jfriend00

为什么我们要导出模块,然后将其导入另一个JS文件?我们这样做有什么好处?

模块的全部目的是为开发人员提供一种方便,干净,简单的方法,以将其代码组织为可重用或可共享的模块。因此,使用模块的重点是以模块化方式开发代码。

模块可以:

  1. 在项目之间轻松共享。
  2. 独立测试。
  3. 具有自己的名称空间和范围,并且可以具有私有变量。
  4. 为代码体提供清晰,明确定义的界面。
  5. 可以与代码加载机制连接以加载代码段。

尽管所有这些都可以在没有语言定义的结构的情况下完成,但是人们会有很多不同的方式来做到这一点,而为获得这些好处而构造代码的人则要少得多。

对于通过NPM提供的成千上万个模块的node.js开发,这些好处显而易见。如果没有每个人都订阅的标准模块设计,那么共享很多执行不同功能的代码就不容易了。ES6模块系统是对该机制进行标准化的尝试。

如果要使用ES5,该如何导出和导入?

您必须找到要采用的第三方模块系统(在ES6之前的日子里有很多,例如AMD或CommonJS),或者构建自己的系统,否则就不得不放弃上述好处。node.js模块系统是在Java语言标准之外设计的这样一种系统。因为它内置在node.js中,并且是node.js项目加载多个源文件的主要机制,所以它成为node.js开发的实际标准。

或者,您现在可以使用像Babel这样的编译器,这些编译器可以让您在ES6中编写代码,并将它们转换为适合您ES5的代码。您在代码中添加了一个类似于构建过程的“构建”步骤,就像编译另一种语言一样(除非您要进行转译而不是编译),并且可以获得在ES6中进行编写和调试的优势,但是您的代码保持了兼容性与ES5运行时引擎(例如,旧的浏览器)一起使用,只有一些限制。

这是一篇关于“为什么使用模块”的有用文章,以获取有关该主题的更多信息?

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章