导入后未定义ES6导入/导出变量

时间:2020-06-10 20:53:44

标签: javascript ecmascript-6 es6-modules javascript-import

我正在尝试使用Javascript导入/导出来导入一个简单变量。

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是未定义的。

3 个答案:

答案 0 :(得分:2)

您需要更改语句的顺序:

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

答案 1 :(得分:0)

您的代码等同于

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

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

如果您确实要导出变量,而不仅仅是导出当前值,则应编写

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

答案 2 :(得分:-1)

您可以使test2.js像这样:

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

并像导入

import { test, secondVar } from './test2.js'
相关问题