ES6 import/export 变量在导入后未定义

ES6 import/export variable is undefined after importing

我正在尝试使用 Javascript import/export 导入一个简单的变量。

test.html

<script src="js/launch/test1.js" type="module"></script>

test1.js

import myTestVar from "./test2.js";

console.log(myTestVar); // undefined

test2.js

export default myTestVar;
var myTestVar = "test!";

然而,在test1.js中,myTestVar是未定义的。

您需要更改语句的顺序:

var myTestVar = "test!";
export default myTestVar;

您的代码等同于

export default undefined;
var myTestVar = "test!";

var myTestVar;
export default myTestVar;
myTestVar = "test!";

如果你真的想导出变量,而不仅仅是它的当前值,你应该写

export { myTestVar as default }
var myTestVar = "test!";

你可以test2.js喜欢:

export var test = "hello world";
export var secondVar = "hello world 2";

并像

一样导入
import { test, secondVar } from './test2.js'