必需的代码无法访问主代码

时间:2016-05-17 18:09:29

标签: javascript

所以我试图将我的代码变成可读的形式,但偶然发现了一个有点恼人的问题。

所以我想将一个类外包到一个文件中,“需要”它,然后在主文件中写回调函数以提高可读性。但是外包文件中的函数无法访问回调函数。这是简化的问题:

file_a.js

function test_a(){
    return "this is A"
}

var test_b = require('./lib/file_b.js').test_b
console.log(test_b())

file_b.js

function test_b(){
    return test_a()
}
exports.test_b = test_b

我希望有人能告诉我如何解决这个问题:) 编辑:此代码适用于firefox插件!

2 个答案:

答案 0 :(得分:0)

test_a函数必须全局定义:

test_a = function(){
    return "this is A"
}

var test_b = require('./lib/file_b.js').test_b
console.log(test_b())

此外,您必须在test_b函数中返回一些内容:

function test_b(){
    return test_a()
}
exports.test_b = test_b

然后你会有这样的输出:

  

这是A

答案 1 :(得分:0)

您可以在同一个HTML文件中单独加载两个js文件。

然后,你所引用的任何引用页面上加载的其他文件的代码都应该在window.onload调用中(或者使用jQuery $(document).ready),这样它只在两个文件可用时运行在页面上。