gpt4 book ai didi

javascript - NodeJS 在同一文件夹中找不到模块

转载 作者:太空宇宙 更新时间:2023-11-04 15:25:21 25 4
gpt4 key购买 nike

我有一个简单的 Node 应用程序,我想在其中包含一个名为dishRouter 的模块。目录结构是这样的:- Structure
Dishes/index.js 通过
导出我在 app.js 中使用的菜肴路由器 var duckRouter = require('/dishRouter')
当我使用 Node 应用程序运行 app.js 时,它显示: The Error
我尝试打印 __dirname 它给出
“C:\Users\Kush\Desktop\NodeExamples\Express-example\Assignmnet1”
我不明白为什么 Node 在同一目录中找不到模块“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;

代码在routes/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/');,因为导出的DishRouter code> 位于 Dishes 文件夹内。

关于javascript - NodeJS 在同一文件夹中找不到模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50864836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com