我正在学习一些教程,它说
ESM使用实时绑定。这意味着支持周期性的功能 依赖性。
但是我不清楚这个概念。谢谢。
答案 0 :(得分:1)
实时绑定是ES模块中引入的一个概念。这意味着,当导出模块更改值时,更改将在导入方可见。 CommonJS模块不是这种情况。模块导出被复制到CommonJS中。因此,导入模块无法看到导出方发生的更改。
export let count = 1;
export function increment() {
++count;
}
import { count, increment } from './counter.mjs';
console.log(count);
increment();
console.log(count);
$ node --experimental-modules index.mjs
1
2
let count = 1;
function increment() {
++count;
}
exports.count = count;
exports.increment = increment;
const { count, increment } = require('./counter.js');
console.log(count);
increment();
console.log(count);
$ node index.js
1
1
有关该主题的更多资源: