我怎样才能在咖啡脚本中实现这样的东西?当我运行节点a.js时,A和B都是类型函数
a.js
exports = module.exports = A;
var B = require('./b');
function A() {
console.log('I\'m A');
}
console.log('B=', typeof B);
b.js
exports = module.exports = B;
var A = require('./a');
function B() {
console.log('I\'m B');
}
console.log('A=', typeof A);
我在Coffee-Script中尝试了几种方法,但没有一种方法可以像上面的javascript那样完全相同。
答案 0 :(得分:1)
让模块相互依赖听起来不是一个好主意,但如果你需要的话,这可行:
a.coffee
A = () ->
console.log('I\'m A')
module.exports = A
B = require('./b')
console.log('B=', typeof B)
b.coffee
B = () ->
console.log('I\'m B')
module.exports = B
A = require('./a')
console.log('A=', typeof A)
请确保您阅读了node.js文档的module cycles部分(它讨论了模块在返回之前可能无法完成执行)。