gpt4 book ai didi

node.js - EJS 错误 : not defined; can't find module 'undefined' ; can't find module 'ejs' ; body is not defined

转载 作者:搜寻专家 更新时间:2023-10-31 22:37:36 26 4
gpt4 key购买 nike

我对 O'Reilly 书籍“Node.js Up And Running”第 2 章中的“让我们构建 twitter” Node 应用程序感到非常沮丧。

我从未使用过 EJS,甚至不知道为 EJS 文件添加什么扩展名。另外,我无法让我的应用程序运行并出现以下各种错误:

  • 部分未定义
  • 在执行 app.render('index'... 时找不到模块“undefined”...
  • 找不到模块“ejs”
  • 正文未定义

更令人沮丧的是,因为它只是第 2 章,我想知道切换到其他 Material 是否更可取......

最佳答案

如果您也对 O'Reilly Up and running 一书中第 2 章的“让我们构建 twitter”编程教程感到沮丧,这里是使这个“应用程序”工作的补充。

先决条件:

  1. 要使此应用正常运行,请确保您的 Express 版本低于 3.X。事实上,在 3.0 及更高版本中,他们删除了“部分”支持,现在是特定于模板的。所以确保安装 2.x 版本:npm install express@2.x
  2. 这本书没有提供任何关于如何使用 EJS 文件的信息。经过一些研究,为了让 express 理解和解析 EJS 文件,您必须安装...ejs。与任何其他模块一样,安装非常简单:npm install ejs

肉:

  1. 对于此应用,viewspartials 文件夹中的所有文件都应具有扩展名 .ejs
  2. 你安装了 EJS 但你必须告诉 express 在 app.render() 函数中使用 EJS 作为模板格式您有两种方法:

(1) 你将 EJS 设置为默认模板引擎,然后告诉 express 渲染你的文件 app.set(' View 引擎', 'ejs');

res.render('index', ...)

(2) 你只需告诉 app.render() 函数使用 EJS,express 会处理它

res.render('index.ejs', ...)

如果此时它不起作用或仍然不清楚,没有什么比查看工作代码更好的了。 fork 或下载应用程序 here .

希望对其他读者有所帮助。

关于node.js - EJS 错误 : not defined; can't find module 'undefined' ; can't find module 'ejs' ; body is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11713557/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com