我的路由index.js文件给出错误(模块未找到)
问题描述:
错误说“无法找到模块'./routes/index'”,但显然它在该文件夹中(即使静态设置为该文件夹时)我的路由index.js文件给出错误(模块未找到)
以下是错误:
[email protected]*censored*:/home/ubuntu/*censored*# module.js:471
throw err;
^
Error: Cannot find module './routes/index'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/home/ubuntu/*censored*/routes/index.js:7:14)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
这里是我的目录是什么样子:
-bin
-forbiddenDirectory
-Node_modules
-public
-routes
-----index.js
-----users.js
-views
app.js
main.js
bundle.js
package.json
这是我app.js:
var routes = require("./routes/index");
app.use('/', routes);
这是我index.js:
var express = require('express');
var router = express.Router();
var app = express();
var aws = require('aws-sdk');
var request = require('request');
var cheerio = require('cheerio');
var routes = require('./routes/index');
var fs = require('fs');
var url = "http://news.google.com";
var ep = new aws.Endpoint('censored.us-west-1.censored.com');
var db = new aws.DynamoDB.DocumentClient({ // Dynamo database constructor
"apiVersion": '2012-08-10',
"region": 'us-west-1',
"endpoint": ep,
"accessKeyId": 'censored',
"secretAccessKey": '+censored/censored'
});
var dateObj = new Date();
var dbTimeStamp = dateObj.toLocaleString();
// middleware that is specific to this router
router.use(function timeLog (req, res, next) {
next();
});
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index');
});
//module.exports = router;
module.exports = function(req,res,next) { res.render('index')}
所以这显然是在文件夹路径,但它不会读它的某些原因。我尝试了一切......我尝试将./routes/index改为./routes/index.js,然后改为./routes/,然后./routes,然后/ routes,然后尝试routes/index /,然后确定../路线/索引与之后的.js相同。我放弃了,需要你们的帮助。 谢谢。在app.js
exports.index=function(req,res,next){
res.render('index');
}
:
答
你应该index.js使用此代码
app.use('/', routes.index);
答
尝试增加文件扩展名。因此,您在app.js中的代码将为:
var routes = require("./routes/index.js");
app.use('/', routes);
答
请删除routes = require('./ routes/index');从index.js
我这样做,我仍然得到错误。我把: module.exports = router,function(req,res,next)res.render('index'); 最后 – Chris
put'module.exports = function(req,res,next){res.render('index')}'你可以在app.js中使用'console.log(typeof routes) ' – farhadamjady
我把“console.log(typeof routes);”在app.js?我这样做,但它甚至没有在终端中给出结果,因为它由于某些原因仍然被“无法找到模块./routes/index”错误覆盖 – Chris