Ish*_*tel 8 javascript binding es6-modules
我正在学习一个教程,它说
ES 模块使用实时绑定。这意味着支持循环依赖的特性。
但是我不是很清楚这个概念。这是什么意思?
mku*_*ayk 11
实时绑定是 ES 模块中引入的一个概念。这意味着当导出模块更改一个值时,该更改将从导入器端可见。CommonJS 模块不是这种情况。模块导出在 CommonJS 中复制。因此导入模块无法看到导出端发生的变化。
export let count = 1;
export function increment() {
++count;
}
Run Code Online (Sandbox Code Playgroud)
import { count, increment } from './counter.mjs';
console.log(count);
increment();
console.log(count);
Run Code Online (Sandbox Code Playgroud)
$ node --experimental-modules index.mjs
1
2
Run Code Online (Sandbox Code Playgroud)
let count = 1;
function increment() {
++count;
}
exports.count = count;
exports.increment = increment;
Run Code Online (Sandbox Code Playgroud)
const { count, increment } = require('./counter.js');
console.log(count);
increment();
console.log(count);
Run Code Online (Sandbox Code Playgroud)
$ node index.js
1
1
Run Code Online (Sandbox Code Playgroud)
有关该主题的更多资源:
归档时间: |
|
查看次数: |
1488 次 |
最近记录: |