学习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);
});
分享到:
相关推荐
一个简单学习NodeJs中使用MySQL的例子
NodeJS中文文档精编.pdf,最新版文档
nodeJS中fs模块对系统文件及目录进行读写操作,本文将详细介绍nodejs中的文件操作模块fs的使用方法
NodeJS中文文档 学习NodeJS必备
money.js 是一个货币转换的微型 javascript 库,可在 nodeJS 和浏览器中使用
nodejs中文文档.pdf
Nodejs-API-中文文档.pdf
nodejs API 中文文档,这份文档的翻译工作始于 2016年 4月初,由于翻译量较大,加之 Node.js 官方版本更新较快,因而目前尚无法跟上官网的(版本)更新节奏。但整体算是比较新的了。适合新手入门或者当作 使用手册 ...
本文主要分析了Nodejs中require导入JSON和js文件时得到的结果,同时简单涉及到了Nodejs中模块导出module.exports和exports的用法。 引言 在阅读webpack源码的过程当中,见到如下一行代码: const version = ...
iot-nodejs, 使用nodejs连接到IBM的客户端库和示例 node.js-客户端库node.js 客户机用于简化与Things平台的交互。 以下库包含有关使用 nodejs ibmiotf node 与组织内的设备和应用程序进行交互的说明和指导。客户端库...
nodejs中文chm
node使用简介
nodejs中文教程
nodejs 使用原生的 dubbo (dubbo head hessian body) 协议打通了 dubbo 的 rpc 方法调用 .
将异步JavaScript函数转变成ES6生成器,以便在他们可以在现代浏览器在node.js中使用
资源名称:nodejs中文帮助文档内容简介:nodejs中文帮助文档,想学习nodejs的朋友可以参考下nodeJS 中文API node.js 中文文档 nodejs中文帮助文档.pdf Node 是一个服务器端 Javascript 解释器,它将改变服务器...
nodejs中jquryfileupload异步上传的demo
资源名称:使用webstorm开发nodejs 中文WORD版内容简介:本文档主要讲述的是使用webstorm开发nodejs;希望对大家会有帮助;感兴趣的朋友可以过来看看资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学...