Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 调用CommonJS模块时返回未定义_Javascript_Node.js_Module_Undefined_Commonjs - Fatal编程技术网

Javascript 调用CommonJS模块时返回未定义

Javascript 调用CommonJS模块时返回未定义,javascript,node.js,module,undefined,commonjs,Javascript,Node.js,Module,Undefined,Commonjs,我是模块化JS的新手,以前从未使用过任何模式。我正在写一个项目,其中有400多行代码,我想通过在不同的模块中分离来更好地管理它。我选择使用commonJS模块,因为我已经使用了webpack。现在,我将我的第一个函数放在另一个模块中,并将其导出如下: //init.js file var initt = function () { octaveNumber = document.getElementById("octaveNum"); audioCtx = new (window.Aud

我是模块化JS的新手,以前从未使用过任何模式。我正在写一个项目,其中有400多行代码,我想通过在不同的模块中分离来更好地管理它。我选择使用commonJS模块,因为我已经使用了webpack。现在,我将我的第一个函数放在另一个模块中,并将其导出如下:

//init.js file
var initt = function () {
  octaveNumber = document.getElementById("octaveNum");
  audioCtx = new (window.AudioContext || window.webkitAudioContext);
  osc = audioCtx.createOscillator();
  volume = audioCtx.createGain();
  filter = audioCtx.createBiquadFilter();
  osc.connect(filter);
  volume.connect(audioCtx.destination);
  booleanVal = false;
  osc.frequency.value = dial.value
  osc.start();
  gainDisplay.innerHTML = gainSlider.value;
  noteSetOscFreq()
  octaveUpClick()
  octaveDownClick()
  waveFormSelector()
}

module.exports = initt;
在我的主JS文件中,我需要它

var messages = require('./init');
最后在它所属的If语句中调用该函数:

if (!localStorage.getItem("presetsArr") {
  messages.initt;
不幸的是,我在控制台中无法读取undefined的属性'gain',这意味着Init模块没有初始化变量和其他它认为的东西。当我在不使用commonJS模块的情况下将整个函数放回原处时,它就可以正常工作了。我知道这可能与返回值有关,但我无法动手。没有工作。

messages.initt X


信息√

现在我不明白这个未定义的问题,谢谢。这与主题无关,但我得到另一个错误Uncaught TypeError:未能在“AudioParam”上设置“value”属性:提供的浮点值是非有限的。它能解决commonjs的同步问题吗?因为就像我说的,如果我不使用模块,一切都很好。因为没有完整的代码,我不能保证我的答案。我想你可以看看一些常见的JS规范文档,可能会有范围问题。正如你所看到的,我不擅长英语,希望你能理解我所说的