鍍金池/ 問答/HTML/ Node.js 模塊引用問題。

Node.js 模塊引用問題。

由于啟動文件代碼太多,我想把路由代碼 寫到模塊文件夾里。
但是查看日志返回undefined,為什么?

router.js文件:

//加載router模塊
const koa_router = require('koa-router');
//實例化路由
const router = new koa_router();

module.exports.get= function() {
   router.get('/', (ctx, next) => {
        ctx.render('index');
         
   });
};

啟動文件 server.js: (其它文件加載不一一些了,抽取這個部分代碼)

      //加載路由自定義模塊
      k_router = require('Router'),
      //實例化Koa
      app = new Koa(),
      //實例化路由
      router = new koa_router();
      
      
      
      //執(zhí)行自定義路由模塊
      k_router.get();
      console.log(k_router.get());  //undefined
      

模塊文件寫的不對嗎?

回答
編輯回答
孤酒

一個function,里面沒有任何return,該函數(shù)執(zhí)行肯定返回undefined。
還有一點,你get方法中設(shè)定的router和server.js中的也不是同一個實例,建議你

  1. 或者將server.js中的router以參數(shù)形式傳入get方法,然后get方法操作這個router。
  2. 或者get返回router,server.js直接使用get返回的router
2017年3月5日 07:00
編輯回答
夏夕
//加載路由自定義模塊
k_router = require('Router'),

這塊加載自定義模塊寫法是不是有問題,如果是自定義模塊,推薦使用 相對或者絕對路徑。
你代碼中的寫法會解析成 內(nèi)置模塊或者依賴模塊包

2018年3月23日 05:37