Nodejs express -t ejs microblog 为啥创建的工程模板是jade的,如何解决?求大侠指导
Nodejs express -t ejs microblog 为啥创建的工程模板是jade的,如何解决?求大侠指导
express -t ejs microblog 为啥创建的工程模板是jade的
Nodejs express -t ejs microblog 为啥创建的工程模板是jade的? 如何解决?
当你使用 express -t ejs microblog
命令创建一个新的 Express 应用时,你可能会发现生成的应用模板并不是 EJS,而是 Jade (现在称为 Pug)。这是因为 Express 的模板引擎选项可能没有正确识别或应用。
解决方法
-
手动更改模板引擎
如果你想确保使用 EJS 而不是 Jade,可以在创建项目之后手动修改
package.json
文件中的依赖项,并调整你的应用代码以使用 EJS。 -
重新安装依赖项
首先删除已创建的项目文件夹,然后重新运行命令并确保依赖项正确安装。
-
使用正确的命令
你可以尝试使用
--view=ejs
参数来明确指定使用 EJS 模板引擎。
示例步骤
假设你已经创建了一个名为 microblog
的项目,但发现模板引擎默认为 Jade。以下是修改步骤:
-
修改
package.json
打开
microblog/package.json
文件,找到"ejs"
依赖项并确保它存在。如果不存在,可以手动添加:"dependencies": { "ejs": "^3.1.8" }
-
更改视图引擎
修改
app.js
或index.js
文件,设置视图引擎为 EJS:const express = require('express'); const path = require('path'); const app = express(); // 设置视图引擎为 EJS app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'ejs'); // 其他中间件和路由配置
-
创建 EJS 视图
在
views
目录下创建一个 EJS 文件(例如index.ejs
):<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Microblog</title> </head> <body> <h1>Welcome to Microblog</h1> </body> </html>
-
渲染视图
在
app.js
中添加一个简单的路由来渲染这个视图:app.get('/', (req, res) => { res.render('index'); });
通过以上步骤,你应该能够成功地将你的 Express 应用的模板引擎更改为 EJS。希望这些信息对你有帮助!
express -e ejs microblog
试试
改成 -e 就好了 那本书里边很多地方都是旧版本node的写法 后边还有会问题的
解决!多谢,
你照着做的话最好别用书上的例子 很坑的 直接用论坛置顶的教程 模式差不多的
当你使用 express -t ejs microblog
命令创建一个新的 Express 应用程序时,如果生成的项目中默认的模板引擎仍然是 Jade(现在称为 Pug),这可能是因为你的 express
工具版本较旧。在较新的 express
版本中,默认的模板引擎应该已经改为 EJS。
解决方案
-
更新
express-generator
: 确保你使用的是最新版本的express-generator
。你可以通过以下命令来更新它:npm install -g express-generator
-
重新创建项目: 如果你已经创建了项目,可以删除该项目并重新创建:
rm -rf microblog express -t ejs microblog cd microblog npm install
-
手动修改配置: 如果你不希望重新创建项目,可以手动修改项目的配置文件以确保使用 EJS 作为模板引擎。
在
app.js
或index.js
文件中,找到类似如下的代码:var index = require('./routes/index'); var users = require('./routes/users'); app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'jade'); // 修改这里
将
'jade'
修改为'ejs'
:app.set('view engine', 'ejs');
并确保你已经安装了 EJS 模板引擎:
npm install ejs --save
示例代码
在 app.js
中:
const express = require('express');
const path = require('path');
const app = express();
// 设置视图引擎为 EJS
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
// 其他中间件和路由定义...
app.listen(3000, () => {
console.log('App is listening on port 3000');
});
这样修改后,你应该能够看到应用使用 EJS 模板引擎正常工作。