2013-07-27 3 views
0

как я могу реализовать что-то подобное в скрипте кофе? когда я бегу узел a.js как A и B является тип функцииcoffeescript node.js взаимно требуют возврата undefined

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); 

Я попробовал несколько подход в кофе-Script, но нет один подход может сделать то же самое, что и javascript выше.

ответ

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) 

Обязательно ознакомьтесь с разделом module cycles документации node.js (в нем говорится о том, как модуль не может завершить выполнение перед возвратом).

+0

это также, что я узнал:) ~ в любом случае спасибо ~ –