nodejs中使用velocity
2013-10-24 21:09
330 查看
学习nodejs框架发现都是jade,不复杂,也不想学,如果会velocity就不用再学jade了。
可以直接在nodejs中使用velocity,因为npm里有velocityjs。
用express建一个项目
稍改app.js就行
可以直接在nodejs中使用velocity,因为npm里有velocityjs。
用express建一个项目
express demo目录如下:
│ app.js //node app.js 启动改package.json(默认是jade,其实不改也没关系)
│ package.json
│
├─public
│ ├─css
│ ├─img
│ └─js
├─routes
│ index.js
│ user.js
└─views //vm模板
footer.vm
head.vm
index.vm
mainBody.vm
{
"name": "cjx",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node app.js"
},
"dependencies": {
"express": "3.4.3",
"jade": "*",
"velocityjs":"0.4.2"
}
}
稍改app.js就行
/**阅读更多
* Module dependencies.
*/
var express = require('express') //express
var velocity = require('velocityjs') //velocityjs
var routes = require('./routes')
var user = require('./routes/user')
var http = require('http') //
var fs = require('fs') //
var path = require('path') //
var routes = require('./routes') //
var app = express() //app
var cwd = process.cwd() //cwd
console.log("cwd="+cwd);
// all environments
app.set('port', process.env.PORT || 3000);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'vm');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.cookieParser('your secret here'));
app.use(express.session());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
//全用vm模板引擎
app.engine('vm',function(path,options,fn){
var template = fs.readFileSync(path).toString();
var macros = {
parse: function(file) {
var template = fs.readFileSync(cwd + '/views/' + file).toString()
return this.eval(template);
}
}
try{
fn(null, velocity.render(template, options, macros))
}catch(err){
console.log(err);
fn(err)
}
});//end engine
app.use(express.static(cwd+"/public"));
app.use(express.logger());
app.get('/index', routes.index);
//设端口
var port = process.argv[2];
port = /^\d{4,5}$/.test(port) ? port :app.get('port');
console.log('Listening on', port);
http.createServer(app).listen(port, function(){
console.log('Server listening on port ' + port);
}).on('error',function(err){
console.log('错了',err.code);
});
相关文章推荐
- 使用Velocity
- velocity的使用之2
- velocity在servlet中的使用
- nodejs-ORM 操作数据库中间件waterline的使用
- nodejs中使用HTTP分块响应和定时器示例代码
- velocity中使用ssi的#include指令冲突的解决办法
- velocity.js 使用示例
- 转: 使用 Velocity 模板引擎快速生成代码
- velocity.js 使用示例
- 使用supervisor提高nodejs开发效率
- 使用Velocity基本步骤
- nodejs 的 express-session 模块之 cookie.secure 选项使用注意事项
- ProjectOne(06) - 番外篇03 nodejs开启gzip压缩,使用compression包
- nodejs:使用多处理器
- nodejs ejs 引擎脱离express使用
- Nodejs使用Express构建Web项目,使用html文件代替jade模板
- Nodejs中Mongodb的基本使用
- nodejs pm2配置使用教程
- velocity使用工具类
- cesium使用NODEJS搭建环境