如何在Node.js中使用EJS而不是JADE

时间:2015-08-17 16:04:45

标签: linux node.js express

我正在尝试使用express创建一个简单的应用程序,但我想使用EJS而不是JADE。所以我做了以下几点:

  • 步骤1 npm install express generator -g
  • 第2步表达myApp
  • 步骤3 cd myApp
  • 第4步npm install
  • 步骤5 npm install ejs
  • 步骤6替换app.set('view engine','jade'); app.set('view engine','ejs');
  • 步骤7使用命令set debug = myApp:*&运行应用程序。 npm start

但是,当我试图通过localhost:3000查看我的网页时,它显示错误。

Error: Failed to lookup view "error" in views directory "E:\Express\myApp\views"
   at EventEmitter.render (E:\Express\myApp\node_modules\express\lib\application.js:579:17)
   at ServerResponse.render (E:\Express\myApp\node_modules\express\lib\response.js:961:7)
   at E:\Express\myApp\app.js:53:7 
   at Layer.handle_error (E:\Express\myApp\node_modules\express\lib\router\layer.js:71:5)
   at trim_prefix (E:\Express\myApp\node_modules\express\lib\router\index.js:310:13)
   at E:\Express\myApp\node_modules\express\lib\router\index.js:280:7
   at Function.process_params (E:\Express\myApp\node_modules\express\lib\router\index.js:330:12)
   at IncomingMessage.next (E:\Express\myApp\node_modules\express\lib\router\index.js:271:10)
   at done (E:\Express\myApp\node_modules\express\lib\response.js:956:25)
   at EventEmitter.render (E:\Express\myApp\node_modules\express\lib\application.js:581:14)

请告诉我为什么会这样。

2 个答案:

答案 0 :(得分:1)

您可以使用以下命令使用ejs模板生成快速项目:

express myApp -e

在你的情况下,你用jade模板创建了快速项目,并尝试用ejs替换jade。

您提到的错误是由于路径目录" error.ejs"中文件E:\Express\myApp\views不存在所致。 请检查路径目录" E:\Express\myApp\views"并将error.jade重命名为error.ejs

如果您遇到任何问题,请在此处发布。

答案 1 :(得分:0)

由于快速生成器应用程序将使用Jade创建初始​​布局和视图,因此使用EJS替换的方法是在EJS上创建新的布局和基本视图。

错误消息表示无法找到要渲染的“错误”视图。这可能是文件不存在或者因为它不是EJS文件

更新:快速生成器命令支持--ejs-e标志,以在创建新项目时更改视图引擎