我一直在使用require()将我的代码分解为模块,但这样做的结果似乎是零星的和不一致的。
例如,在main.js中,我有两个requires()s:
var moduleOne = require('cloud/moduleOne.js');
var moduleTwo = require('cloud/moduleTwo.js');
通过导出调用附加到moduleOne的方法会产生正确的结果:
moduleOne.methodOne(argumentOne); // is defined
对第二个模块做同样的事情并不是这样。它告诉我方法是未定义的。
moduleTwo.methodTwo(argumentTwo); // is undefined
我真的很困惑为什么这么不一致。在每个源文件中,我都声明了这样的函数(没有函数包装器来创建本地命名空间):
// moduleOne.js
exports.methodOne = function(argumentOne) {
// Code
}
// moduleTwo.js
exports.methodTwo = function(argumentTwo) {
// Code
}
我的linter告诉我所有代码都是有效的,moduleOne中的代码按预期执行并传递我的测试。有没有其他人经历过这个,如果有的话,解决方案是什么?这两个文件确实在cloud
目录中,并且它们都在Parse上。
答案 0 :(得分:0)
如果两个文件的方法类似,那么它可能是一个缓存问题 尝试在您的require配置中添加缓存破坏程序:
urlArgs: "bust=" + (new Date()).getTime()
请参阅the docs以获取参考。