在O’Reilly的书“Node.js Up and Running”的第2章中,我对“Let’s build twitter”节点应用程序感到非常沮丧.
我从未使用过EJS,甚至不知道为EJS文件添加什么扩展名.另外,我无法让我的应用程序正常运行以获取这些错误:
>部分未定义
>无法找到模块’undefined’在哪里做app.render(‘index’…
>找不到模块’ejs’
>身体没有定义
它更令人沮丧,因为它只是第2章,我想知道切换到另一种材料是不是更可取的……
解决方法
如果您对O’Reilly Up和正在运行的书中的第2章中的“Let’s build twitter”编程教程感到沮丧,那么这就是使这个“app”工作的补充.
先决条件:
>要使此应用程序正常运行,请确保您拥有Express<的版本3.x的事实上,在3.0及更高版本中,他们删除了“部分”支持,现在是模板特定的.因此,请确保安装版本2.x:npm install express@2.x
>本书未提供有关如何使用EJS文件的任何信息.经过一番研究,为了快速理解和解析EJS文件,你必须安装… ejs.
安装非常简单,就像任何其他模块一样:npm install ejs.
这肉:
>对于此应用程序,文件夹视图和部分文件中的所有文件都应具有扩展名.ejs
>您安装了EJS但是必须告诉express使用EJS作为app.render()函数中的模板格式
你有两种方法可以做到:
(1)将EJS设置为默认模板引擎,然后告诉express渲染文件
app.set(‘view engine’,’ejs’);
res.render(‘index’,…)
(2)你只需告诉app.render()函数使用EJS,express就会照顾它
res.render(‘index.ejs’,…)
如果在那一点它不起作用或者仍然不清楚,没有比看工作代码更好的了.分叉或下载应用程序here.
希望它能帮助其他读者.