2016-12-17 27 views
-2

我在寫我的控制器這樣意外的標記{模塊出口的node.js

module.exports.create_payment = function(){ 
    console.log('create_payment') 
} 

,但有一個與上面的圖案有問題。想象一下,我有10個在一個控制器方法,然後我會寫module.exports.method1,module.exports.method2等。

所以要解決,我包並返回,如下面的方法

module.exports = { 

    return { 

     create_payment: function(req,res,next){ 

      console.log('create_payment') 

     } 
    } 
} 

但是我得到了意想不到的令牌錯誤,怎麼了?

回答

3

您分配給module.exports的值是對象字面值,而不是函數值。你不能在其中放置一個return語句。

module.exports = { 
    create_payment: function(req, res, next) { 
     console.log('create_payment') 
    } 
}; 
+0

如果上面的代碼放在一個文件調用payment.js,我可以用它這樣 'VAR支付=需要(「支付」); app.post('/ pay',payment.create_payment);' ? –

+0

是的。這是出口的重點。 – Quentin

+0

奇怪,我看到有些人在控制器中使用return。您是否必須在express.js中使用揭示模塊模式?因爲它內置了模塊出口。 –