在导入时更改蜂示导出后,ES6导出是否会更改



在导入时更改蜂蜜导出后,ES6导出会更改吗?

对于可读性并保持重要的内容,我们考虑使用以下文件结构:

export default myFunction;
myFunction.$inject = ['something'];
function myFunction(){
  //
}

但是,根据定义,可以在导入上定义的$注入值?

import myFunction from './myFunction';
if(myFunction.$inject)
// What value has myFunction.$inject ?

导入的文件刚刚导入到导出语句?

为我们使用webpack和babeljs设置该值似乎已经设置了,但是对于严格的ES6解释而言,这是否成立?

但是,根据定义,可以在导入上定义的$注入值?

是的。但这与ES6模块无关。由于对象(函数是对象(表示为引用,因此您正在执行的任何突变在其他地方都可以参考该对象。


更有趣的方面是这个:

// a.js
export var x = 42;
export function changeValue() {
  x = 21;
};
// b.js
import {x, changeValue} from './b.js';
console.log(x); // 42
changeValue();
console.log(x); // 21

导入和导出是 live 。这意味着将新值分配给导出也将导致导入更新。您可以通过参考将其视为分配:导入绑定没有导出值的副本,而是对内存位置的引用 em>导出绑定。。。p>

最新更新