commonJS 和 es6规范 的引入导出

2022-07-19 14:04:30 浏览数 (1)

大家好,又见面了,我是全栈君。

index.js中定义:

代码语言:javascript复制
var info = { name = 'sisi' };

1.定义变量的时候,不要用object变量名,有可能出现未知的错误。

2.输出用export {info}的时候,引入须用 import {info} from index.js 的形式,不可省略大括号。

3.输出用export{info as vm}的形式时,引入不能再用info这个接口了,只能用vm这个接口,即

代码语言:javascript复制
import {vm} from index.js

4.重点:输出采用module.exports = info的时候,引入info也可以采用import.

代码语言:javascript复制
import info from index.js

不可采用

代码语言:javascript复制
import {info} from index.js

换句话说,CommanJS规范中的输出,也可以采用es6规范中的输入来引入。

当然,这种情况使用

代码语言:javascript复制
var info = require('index.js');

也是正确的。

5.与上面第四条作对比,如果输出采用es6的export 。即 export {info} ; 或者 export default info;则模块引入info必须采用import,采用require行不通。

6.使用export输出的时候,引入必须要有{},例如demo.js

代码语言:javascript复制
export const str = 'sisi';

export function func(){
   console.log('sisi');
}

引入的时候要用

代码语言:javascript复制
import {str} from 'demo';
或
import {str, func} from 'demo';

不可使用

代码语言:javascript复制
import str from 'demo';

但是使用

代码语言:javascript复制
export default const str = 'sisi';

输出的时候 引入可以使用

代码语言:javascript复制
import str from 'demo';

因为一个文件或者模块中只能有一个export default

以上结论均经过测试。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/108732.html原文链接:https://javaforall.cn

0 人点赞