0
的上市
我的应用程序未加载“EJS”模块,当我尝试在我app.js
文件调用路由,我想知道这是为什么。错误:无法找到模块“EJS”即使它的package.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安装EJS并把它安装EJS你吗?@JonathanBechtel – Sumeet
你能告诉我们错误的堆栈跟踪你越来越@JonathanBechtel – Sumeet