Nar*_*sty 4 javascript module node.js ecmascript-6
模块加载器负责加载模块.
我所知道的是模块加载器异步加载浏览器中的模块,而在Node.js中它同步加载.
我想确认这些信息是否正确.
ES6模块加载器将是异步的,而node.js模块加载器则不是.
以下是模块加载器的一些关键方面:
模块代码自动以严格模式运行,无法选择退出严格模式.
在模块顶层创建的变量不会自动添加到共享全局范围.它们仅存在于模块的顶级范围内.
this模块顶层的值未定义.不允许在代码中使用HTML样式的注释(早期浏览器时代的剩余功能).模块必须导出模块外部代码可用的任何内容.
https://leanpub.com/understandinges6/read#leanpub-auto-modules
通常,模块为开发人员解决了几个问题.首先,它们允许开发人员将代码分成更小的部分,称为模块.其次,它们使开发人员可以轻松地将这些模块加载(注入)到其他代码段中.像这样注入模块有助于保持项目代码与模块脱钩(阅读:改进的可测试性).第三,模块可以异步加载脚本.这意味着应用程序可以更快地开始加载,因为它们不需要在执行代码之前加载所有脚本.
http://chimera.labs.oreilly.com/books/1234000001623/ch03.html#_default_values
另一方面,因为node.js基于require哪个是同步的,这意味着node.js不提供开箱即用的异步变体.
当然,节点有异步模块加载器(async-require),但不支持本机(带有require).
| 归档时间: |
|
| 查看次数: |
2477 次 |
| 最近记录: |