繁体   English   中英

nodeJS在同一文件夹中找不到模块

[英]nodeJS cannot find module in the same folder

我有一个简单的节点应用程序,我想在其中包含一个名为dishRouter的模块。 目录结构是这样的:- 结构
Dishes / index.js通过以下方式导出我在我的app.js中使用的dishRouter
var dishRouter = require('/dishRouter')
当我使用节点应用程序运行app.js时,它说: 错误
我试图打印__dirname,它给
“C:\\ Users \\用户库什\\桌面\\ NodeExamples \\快车-例如\\ Assignmnet1”
我不明白为什么节点在同一目录中找不到模块“ dishRouter”。 非常感谢您的帮助,对于结构混乱的问题,我们深表歉意。 Dishes / index.js中的代码:

 var DishRouter = require('express').Router(); var fs = require('fs'); var bodyparser= require('body-parser'); DishRouter.use(bodyparser.json()); DishRouter.all('/', function(req,res,next){ res.writeHead(200,{'Content-Type': 'text/plain'}); next(); }); DishRouter.get('/',function(req,res,next){ res.end('Will send the dish list to you!'); }); DishRouter.post('/',function(req,res,next){ res.end('will add the Dish named : '+req.body.name+' and the Description : '+req.body.description); }); DishRouter.delete('/',function(req,res,next){ res.end('will DELETE all dishes'); }); DishRouter.get('/:dishId',function(req,res,next){ res.end('Will send the dish with name : '+req.params.dishId+' to you!'); }); DishRouter.put('/:dishId',function(req,res,next){ res.end('Update the dish named : '+req.params.dishId+', Details to : '+req.body.description); }); DishRouter.delete('/:dishId',function(req,res,next){ res.end('will DELETE dish : '+req.params.dishId); }); module.exports = dishRouter; 

route / index.js中的代码:

 var express = require('express'); var fs = require('fs'); var DishRouter = require('./dishRouter'); var routes= express.Router(); var util = require('util'); routes.get('/', (req, res, next) => { console.log(util.inspect(req)); res.writeHead(200,{'Content-Type': 'text/plain'}); next(); }); routes.delete('/',(req,res)=> { res.sendStatus(404); }); routes.use('/dishes', DishRouter); module.exports = routes; 

代码在Assignment1 / app.js中:

 var express = require('express'); var routes = require('./routes'); var hostname = 'localhost'; var port = 3000; var app =express(); app.use(express.static(__dirname + '/routes')); app.use('/', routes); app.listen(port,hostname,function(){ console.log('Server running on port '+port); }); 

Dishes/index.js ,底线出口dishRouter时要导出DishRouter (大写错字)。

routes/index.js ,您想使用var DishRouter = require('./Dishes/'); 因为导出的DishRouterDishes文件夹中。

而不是var DishRouter = require('./dishRouter');

您必须使用var DishRouter = require('./Dishes');

模块输出的内容与正确的目录路径无关紧要。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM