javascript - 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);
解决方案
尝试const router = require('./routing').router
因为 module.exports 是一个具有router
属性的对象
这也可以通过使用合适的节点版本进行解构来完成:
const { router } = require('./routing');
推荐阅读
- python - 使用 Heroku 上托管的 Selenium 登录 Instagram 时无法找到元素“用户名”
- pyspark - 改进 PySpark 实现以在图中查找连接的组件
- go - 为什么 go module ssh custom private repo (non-github) config 仍然请求 https fetch?
- database - 通过 Typoscript 查询从 Typo3 数据库中选择 url
- jquery - 从 ajax 响应更改 img 类名
- linux - 树莓派:SPI 不工作,spi_bcm2835 不显示 lsmod
- pdftron - PDFTron导入base64签名质量低
- reactjs - 如何在 React 功能组件中动态地将我的表单绑定到 Formik
- python - 使用向量 PYTHON 过滤数据帧
- google-cloud-platform - 如何将bigquery合并输出存储到另一个表中