首页 > 解决方案 > Node.js 导出属性

问题描述

我究竟做错了什么?模块方法 getFile 的结果始终未定义。

这是代码(路由):

let router = { 
paths : {
    'rest' : 'rest.info',
    'data' : 'data-info'
},

getFile : (url) => {
   console.log(this.paths);
}
};

module.exports = {
    router : router
}

这是来自简单服务器的代码:

const http = require('http');
const fs = require('fs');
const router = require('./routing');

http.createServer((req, res) => {
router.getFile('rest');
res.writeHead(200, {'Content-Type': 'text/html'});
fs.createReadStream('./views/myview.html').pipe(res);

}).listen(3000);

标签: javascriptnode.js

解决方案


尝试const router = require('./routing').router

因为 module.exports 是一个具有router属性的对象

这也可以通过使用合适的节点版本进行解构来完成:

const { router } = require('./routing');

推荐阅读