Nodejs 求各位老师帮忙看看 谢谢了,Error: Cannot find module 'ejs'
Nodejs 求各位老师帮忙看看 谢谢了,Error: Cannot find module 'ejs'
index.js
var express = require(‘express’);
var app = express();
app.set(‘views’, __dirname); app.set(‘view engine’, ‘ejs’);
app.get(’/’, function(req, res){ res.render(‘page’); });
app.listen(8888, function(){ console.log(‘asd’); });
page.ejs
<html>
<body>
<h1>Supplies</h1>
<ul>
<% for(var i=0; i<supplies.length; i++) {%>
<li><%= supplies[i] %></li>
<% } %>
</ul>
</body>
</html>
报错
Error: Cannot find module 'ejs’ at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:364:17) at require (module.js:380:17) at new View (D:\tools\nodejs\node_modules\express\lib\view.js:43:49) at Function.app.render (D:\tools\nodejs\node_modules\express\lib\application.js:509:12) at ServerResponse.res.render (D:\tools\nodejs\node_modules\express\lib\response.js:900:7) at D:\tools\nodejs\nodetest\ejslesson2\index.js:12:7 at Layer.handle [as handle_request] (D:\tools\nodejs\node_modules\express\lib\router\layer.js:82:5) at next (D:\tools\nodejs\node_modules\express\lib\router\route.js:100:13)
步骤 npm init npm install ejs --save expressjs是全局的。 麻烦各位看看谢谢了
顶一下,各位老师帮忙看看,谢谢了
package.json { “dependencies”:{ “express” : “~4.0.0”, “ejs” : “*” } } index.js var express = require(‘express’); var app = express(); app.set(‘views’, __dirname); app.set(‘view engine’, ‘ejs’);
var supplies = [‘hello’,‘world’]; app.get(’/’, function(req, res){ res.render(‘page’,{supplies:supplies}); });
app.listen(8888, function(){
console.log(‘asd’,{});
});
其他不变。
现在这个目录下执行npm install, 然后node index.js,就可以了。
你的npm install ejs --save这个命令应该没有在项目目录下执行,所以告诉你找不到ejs模块。 这个命令执行成功后,你会在项目目录下看到一个node_modules目录,里面包含一个ejs目录。
根据你的描述,错误信息 Error: Cannot find module 'ejs'
表明你的项目中缺少 ejs
模块。你已经使用了 npm install ejs --save
来安装 ejs
模块,但问题仍然存在。
解决方案
-
确认模块是否正确安装:
- 打开命令行工具,进入项目根目录。
- 运行
npm list ejs
命令来检查ejs
是否已正确安装。npm list ejs
- 如果输出类似以下内容,说明
ejs
已正确安装:your-project@1.0.0 D:\your-project └── ejs@3.1.9
-
确保依赖项正确加载:
- 确认你的
package.json
文件中有ejs
作为依赖项。如果没有,再次运行npm install ejs --save
安装。 - 重新启动你的 Node.js 应用程序。
- 确认你的
示例代码
以下是修改后的 index.js
文件:
var express = require('express');
var app = express();
// 设置视图引擎为 ejs
app.set('views', __dirname);
app.set('view engine', 'ejs');
// 确保你有一个名为 "page.ejs" 的视图文件
app.get('/', function(req, res) {
// 示例数据
var supplies = ['笔', '纸', '笔记本'];
res.render('page', { supplies: supplies });
});
app.listen(8888, function() {
console.log('服务器运行在 http://localhost:8888');
});
page.ejs 文件
确保 page.ejs
文件位于项目的 views
目录下:
<html>
<body>
<h1>Supplies</h1>
<ul>
<% for(var i=0; i<supplies.length; i++) { %>
<li><%= supplies[i] %></li>
<% } %>
</ul>
</body>
</html>
最后一步
确保你的项目结构如下:
your-project/
├── node_modules/
├── views/
│ └── page.ejs
├── package.json
└── index.js
如果以上步骤仍然无法解决问题,请确保你的 Node.js 和 npm 版本是最新的,并且没有其他环境配置问题。