[英]ERROR in ./~/node-env-file/lib/index.js Module not found: Error: Cannot resolve module 'fs'
[英]My routes index.js file gives error (Module not found)
錯誤顯示“找不到模塊 './routes/index'”,但很明顯它在該文件夾中(即使將 static 設置為該文件夾)
這是錯誤:
root@ip*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 中的代碼將是:
var routes = require("./routes/index.js");
app.use('/', routes);
您應該在 index.js 中使用此代碼:
exports.index=function(req,res,next){
res.render('index');
}
在你的 app.js 中:
app.use('/', routes.index);
請刪除 routes = require('./routes/index'); 來自 index.js
檢查模塊文件的文件擴展名和文件名
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.