如何解决模块循环引用问题

2020-01-02  本文已影响0人  _一九九一_

怎么叫模块循环引用

// a.js
var b = require('b');

// b.js
var a = require('a');

两种解决方案:

CommonJS模块

{
    id: '',  //模块名,唯一
    exports: {  //模块输出的各个接口 使用当的时候,会来这里取值
        ...
    },
    loaded: true,  //模块的脚本是否执行完毕
    ...
}

ES6模块

//a.js
console.log("before import b")
import {b} from "./b"
console.log("b is " + b)
export let a = b+1;

//b.js
console.log("before import a")
import {a} from "./a"
console.log("a is " + a)
export let b = a+1;

执行结果:

// before import a
// a is undefined
// before import b
// b is NAN
上一篇下一篇

猜你喜欢

热点阅读