es6 module机制是如何兼容CommonJS和AMD的?

通过npm安装的包,即可以通过es6import的语法,也可以通过require语法来引入模块。

当然require语法是直接引入被拷贝后export出的objimport是引入被引用export出的表达式。

比如Npm安装了loadsh.

var _ = require('loadsh');   //但是却不能引入单独的方法

import {map} from 'loadsh';     //可以单独引入单独的方法。

这个地方不是很理解,import是如何做到兼容commonJS来单独引入这个模块的某一个方法的。

阅读 7.6k
2 个回答

你应该问 loadsh 怎么做到兼容CommonJSAMD规范的,并且支持 es6 module。

然后你看下loadsh源码就知道了。

宣传栏