Javascript 未捕获引用错误:未为导入的模块定义值

Javascript 未捕获引用错误:未为导入的模块定义值,javascript,module,ecmascript-6,Javascript,Module,Ecmascript 6,下面是一个场景: index.js import test1 from './test1'; window.test1 = test1; test1.js import test2 from './test2'; var test1 = (function (){ var self = this; var x = {}; x.test2 = test2; var testValue = 'TEST VALUE'; let init = function(){

下面是一个场景:

index.js

import test1 from './test1';
window.test1 = test1;
test1.js

import test2 from './test2';
var test1 =  (function (){
  var self = this;
  var x = {};
  x.test2 = test2;
  var testValue = 'TEST VALUE';
  let init = function(){
        console.log ( x.test2() );
  }  
  init();
  return {
    x: x,
    testValue: testValue
  }
})();
export default test1;
test2.js

var test2 =  function () {
    return (` value to use ${testValue} ` )
};

export default test2;
运行index.js时,我在test2.js中遇到以下错误 未捕获引用错误:未定义testValue


有没有一种方法可以使用testValue而不必传入它?

您可以将test1转换为
类对象,然后在test2中使用
这个.value
,它将使用test1实例的值

有没有一种方法可以使用
testValue
而不必传入它


在执行函数之前,必须确保将其设置为全局变量。但使用globals通常是糟糕的设计。传入值更容易推理。因为您没有解释为什么要这样做,所以我只能给出这些建议。

testvalue从何而来???在test2.js中,您必须定义什么是testvalue