我在看《nodejs开发指南》,有迷惑。express如何默认生成ejs的网站结构,我按书上的打,获得的还是jade.还有第100页,出现"partial is not defined"求帮助。
回复 (28)
express -e 项目名称
我想问下,在那个地方输入express -e 项目名称,我在cmd上一输入就报出不是命令或应用
没有生成 layout.ejs,自己手动添加一个,默认页面index.ejs居然没有使用layout.ejs
作者写的时候还是express 2.0 现在已经3.0了 很多都变了 不过大体思路是一致的
你可以看一下那个package.json包,里面默认是jade,修改以下
这个很easy ,使用webstorm 建个新的project 。一下子就ok了。
+1 修改够npm install
搭车同问。 我最近也在看这本书,有个问题。 模板引擎用的也是ejs,但是为什么不会去引用layout.ejs. 在route下的index.js 中,指定了也不会引用了,也没去加载?
npm install express -g
npm install ejs -g
express -e ejs microblog
我之前做的时候也遇到过,确实是nodejs版本的问题
都升级了,要跟上时代
用include代替layout吧
@72color 默认就是layout.ejs,你也可以在渲染的时候指定模板 比如在routes目录下index.js内
function(req, res){
res.render('index', { title: 'express', layout:'newlayout' })
};
使用include:
需要安装express-partials包 详细看这里http://cnodejs.org/topic/50c1a0ed637ffa4155d05256
在views下新建一个layout.ejs 文件
在app.js中进行配置 var partials = require('express-partials' ); // 启用layout app.use(partials());
layout就启用了
我也在看这本书接触nodejs
这本书的微博例子,没有说创建mongodb的数据库创建?
本群有本书的作者。
npm install -g express 全部命令
首先创建一个 microblog 文件夹
然后 打开 命令CMD 进入 microblog这个文件夹
npm install express 注意这里一定要在 microblog文件夹下运行
npm install jade
npm install ejs
express -e ejs microblog
搞定。。。。。初学者有错请说
ejs要使用layout得引入express-ejs-layouts,可以去github上看看使用方法enter link description here
哦,数据自动载入,但是运行例子还是报错。。。
我把ejs给换成twig了. 恩. 不想用华丽的语词来介绍. 反正自认为写出的模板就像面向对象一样, 还能继承呢. 自己去看吧. PHP 的 Symfony2的默认模板引擎就是它.
之前用的是jade, 发现不支持block 继承, 于是换了. 不过jade的写法真爽