Вопросы упоминаются внизу
Я уже довольно давно использую Webpack для своих сборок React.
Я заинтересовался модулями ES6,о разделении и выполнении кода.
Итак, я пришел к следующему тестовому коду, чтобы понять поведение модулей.
Код находится в папке src.Webpack связывает код, а затем bundle.js
запускается с node ./dist/bundle.js
в термине
Код:
. / Src / index.js
import node1 from "./node1";
import node2 from "./node2";
function part() {
node1();
node2();
}
part();
. / src / node1.js
import test, { x } from "./test";
function node1() {
console.log("node1", x, new Date().getTime());
test();
console.log("node1", x, new Date().getTime());
}
export default node1;
. / src / node2.js
import test, { x } from "./test";
function node2() {
console.log("node2", x, new Date().getTime());
test();
console.log("node2", x, new Date().getTime());
}
export default node2;
. / Src / test.js
let x = 1;
console.log(x, new Date().getTime());
function test() {
console.log(
"This is test for understanding dependency graph",
x++,
new Date().getTime()
);
}
export default test;
export { x };
Результат выполнения
Вопрос: Я ожидаю, что экспортированное значение x
останется постоянным.Почему это не так?
Вопрос: Отображается ли поведение во время выполнения из-за связывания webpack
или более неотъемлемой части import\export
спецификации модулей ES6?