设为首页 收藏本站
查看: 1480|回复: 0

[经验分享] nodejs中使用velocity

[复制链接]

尚未签到

发表于 2017-2-21 11:10:53 | 显示全部楼层 |阅读模式
学习nodejs框架发现都是jade,不复杂,也不想学,如果会velocity就不用再学jade了。
可以直接在nodejs中使用velocity,因为npm里有velocityjs。
用express建一个项目引用
express demo
目录如下:│  app.js            //node app.js 启动
│  package.json

├─public
│  ├─css
│  ├─img
│  └─js
├─routes
│      index.js
│      user.js
└─views              //vm模板
footer.vm
head.vm
index.vm
mainBody.vm改package.json(默认是jade,其实不改也没关系){
"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);
});

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-345193-1-1.html 上篇帖子: NodeJS的Path对象 下篇帖子: nodejs express 上传文件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表