簡體   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