Nodejs express -t ejs microblog 为啥创建的工程模板是jade的

Nodejs express -t ejs microblog 为啥创建的工程模板是jade的

express -t ejs microblog 为啥创建的工程模板是jade的

8 回复

Nodejs express -t ejs microblog 为啥创建的工程模板是jade的

如果你在使用 express -t ejs 命令来创建一个新的Express项目,并且发现生成的模板引擎仍然是Jade(现在称为Pug),这可能是因为你所使用的Express版本较旧。在较早的Express版本中,ejs 模板引擎并不是默认选项。

解决方法

你可以通过以下步骤来解决这个问题:

  1. 安装最新版本的Express CLI: 首先,确保你安装了最新版本的Express命令行工具。你可以通过以下命令进行更新:

    npm install -g express-generator
    
  2. 使用正确的命令创建项目: 如果你仍然遇到问题,可以尝试直接指定模板引擎。例如,使用以下命令来创建一个使用EJS作为模板引擎的项目:

    express --view=ejs microblog
    
  3. 手动修改生成的项目配置: 如果你已经创建了一个项目并且发现模板引擎不正确,可以在项目的根目录下找到 package.json 文件,并确保其中包含以下依赖项:

    {
      "name": "microblog",
      "version": "0.0.0",
      "private": true,
      "scripts": {
        "start": "node ./bin/www"
      },
      "dependencies": {
        "cookie-parser": "~1.4.4",
        "debug": "~2.6.9",
        "express": "~4.16.1",
        "http-errors": "~1.6.3",
        "morgan": "~1.9.1",
        "ejs": "^3.1.6"  // 确保包含EJS
      }
    }
    
  4. 修改视图引擎配置: 在项目的 app.jsapp.ts 文件中,确保设置了正确的视图引擎。例如:

    var express = require('express');
    var path = require('path');
    var cookieParser = require('cookie-parser');
    var logger = require('morgan');
    
    var indexRouter = require('./routes/index');
    var usersRouter = require('./routes/users');
    
    var app = express();
    
    // 设置视图引擎为 EJS
    app.set('views', path.join(__dirname, 'views'));
    app.set('view engine', 'ejs');
    
    // 中间件等其他配置...
    
    module.exports = app;
    

通过以上步骤,你应该能够创建一个使用EJS作为模板引擎的Express项目。如果仍然有问题,请确保所有依赖项都是最新的,并且没有遗漏任何配置步骤。


express -e ejs microblog

你那个是老版本express的用法

谢啦 这是更新太快啦么

我都用3.1了

请教,这个问题怎么解决的???谢谢

-e 就好了

express3.x,express4.x中创建ejs命令更新为: express -e microblog //即ejs, 1.必须得安装express框架把:express的安装命令也更新了,需要安装express-generator $ npm install -g express //全局安装 $ npm install -g express-generator //这段命令可别忘了,不然会提示“express命令找不到的” 2.建立网站工程结构: express -e ejs microblog

从你的描述来看,你使用 express -t ejs 命令创建了一个名为 microblog 的 Express 项目,但生成的项目模板中使用的是 Jade(现在称为 Pug),而不是 EJS。这可能是因为你在安装 Express 模板引擎时遇到了一些问题。

解释

Express 默认模板引擎是 Jade/Pug,即使你指定了 -t ejs,如果你的系统中没有正确安装 EJS 模板引擎,Express 将会默认使用 Jade/Pug。

解决方案

  1. 确保安装了 EJS: 在创建项目之前,确保已经全局或本地安装了 EJS 模板引擎。

    npm install ejs --save
    
  2. 重新创建项目: 使用 express 创建一个新的项目,并明确指定使用 EJS 作为模板引擎。

    npx express-generator microblog --view=ejs
    
  3. 手动更改模板引擎设置: 如果你已经创建了项目,可以手动修改 app.js 文件中的模板引擎设置。

    var path = require('path');
    var logger = require('morgan');
    var cookieParser = require('cookie-parser');
    var bodyParser = require('body-parser');
    
    // 引入EJS模板引擎
    var ejs = require('ejs');
    
    var index = require('./routes/index');
    var users = require('./routes/users');
    
    var app = express();
    
    // 设置视图引擎为EJS
    app.set('views', path.join(__dirname, 'views'));
    app.set('view engine', 'ejs');  // 更改为EJS
    

示例代码

在项目根目录下,找到 app.js 文件并添加如下内容:

var ejs = require('ejs');
app.set('view engine', 'ejs');

这样,Express 就会使用 EJS 作为默认的模板引擎。

总结

确保你已经安装了 EJS 并且在创建项目时正确指定了模板引擎。如果项目已经创建完成,可以通过手动修改 app.js 文件来切换模板引擎。

回到顶部