Мое приложение не загружает модуль «EJS» при попытке и вызове маршрутизации в моем файле app.js
, и я хотел бы знать, почему.Ошибка: не удается найти модуль «ejs», хотя он указан в пакете. Json
Мой вопрос очень similar in scope to this one, но у него есть некоторые дополнительные морщины к нему, которые не были затронуты в ответах там, поэтому я подумал, что превращу это в новый вопрос полностью.
Если я запустил очень простой файл app.js
, который вызывает ejs
, он работает должным образом и не вызывает ошибок.
APP.JS:
var express = require('express');
var app = express();
app.set('view engine', 'ejs');
app.get('/', function(req, res){
res.send("Hello World");
}).listen(3000, function(){
console.log("The port is now listening at 3000");
});
Однако после того, как я изменить app.js
использовать маршруты, чтобы сделать вид, я получаю сообщение об ошибке в названии.
Следующий сценарий обеспечивает ошибку:
APP.JS:
var express = require('express');
var app = express();
var root = require('./routes/index');
app.set('view engine', 'ejs');
app.set('views', __dirname + '/views');
app.use(express.static(__dirname + '/public'));
app.use(root);
app.listen(3000, function(){
console.log("The port is now listening at 3000");
});
module.exports = app;
Мой index.js файл, который я использую, чтобы установить маршрут выглядит следующим образом:
INDEX .JS:
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res) {
res.render('index', {
pageTitle: 'The Formula Generator',
pageDescription: 'Easily manage and store your supplement formulas',
pageID: 'home' });
});
module.exports = router;
EJS правильно загружен в моем package.json так:
PACKAGE.JSON:
"dependencies": {
"body-parser": "~1.15.2",
"cookie-parser": "~1.4.3",
"debug": "~2.2.0",
"ejs": "^2.5.5",
"express": "~4.14.0",
"mongodb": "^2.2.16",
"monk": "^3.1.3",
"morgan": "~1.7.0",
"serve-favicon": "~2.3.0"
},
Он также установлен в моем node_modules папка, а также.
Моя файловая структура в настоящее время выглядит следующим образом:
Привет Sumeet, спасибо за ответ. Тем не менее, я все еще получаю то же сообщение об ошибке. Я начинаю думать, что проблема связана с системной переменной на моем компьютере, которая настроена неправильно, так как это действительно простая программа, которая должна работать. Есть идеи, что это может быть? –
npm install ejs установил ejs для вас? @JonathanBechtel – Sumeet
вы можете показать нам стек стека ошибок, что вы получаете @JonathanBechtel – Sumeet