学习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);
});
分享到:
相关推荐
许多公司使用Java + velocity模块开发,前后端开发都在一个Java工程项目中, 为了开发velocity模版,前端开发人员需要安装eclipse运行整个Java工程,环境配置复杂, 启动速度也慢,而且也不便于前后端代码分离。 ...
许多公司使用Java + velocity模块开发,前后端开发都在一个Java工程项目中, 为了开发velocity模版,前端开发人员需要安装eclipse运行整个Java工程,环境配置复杂, 启动速度也慢,而且也不便于前后端代码分离。 ...
基于NodeJs的前端开发生态可以解决前端和后端的开发分离问题,前端工程师可以使用NodeJs来编写后端代码,实现前后端的无缝切换。 3. 前后端分离带来的问题分析 前后端分离可以带来许多问题,如跨域问题、同源策略...
在这个体系中,Nginx 将请求转发给 Java 应用,后者处理完事务,再将数据用 Velocity 模板渲染成最终的页面。 引入 Node.js 之后,我们势必要面临以下几个问题: 技术栈的拓扑结构该如何设计,部署方式该如何选择,...
Echo Content Velocity 应用程序允许将新内容的速率显示为实时仪表。 安装说明 克隆这个存储库。 从 (从包或源)下载并安装 NodeJS 和 npm。 须藤 npm install grunt-cli -g 在项目目录下运行以下命令:npm ...
通过使用 nginx+tomcat 或者中间加一个 nodejs 的方式,可以有效地进行解耦,并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS 等等...
模板引擎如FreeMarker或Velocity被用来根据模板和数据生成具体的代码文件。用户还可以自定义模板,以满足特定的编码风格或项目需求。 7. **应用场景**: - 快速搭建新项目:在项目初期,利用代码生成器可以迅速...
* 精通一种模板语言(Smarty、Velocity、Django 等) * 熟悉 Linux 平台,掌握一种后端开发语言(PHP/Java/C/C++/python 等) * 有前端性能优化经历 * 具有一定的软件工程意识,对数据构造和算法设计有充分理解 四...
开源博客系统,开发中... 开源博客系统项目方案 【前言】 项目:一款Github上开源的博客系统项目 目的:对学到的JavaEE框架、开源组件、前端技术进行应用学习。同时开发完成后写技术博客,开源到Github上 开源 前端...
精通一种模板语言(Smarty、Velocity、Django 等),熟悉 Linux 平台,掌握一种后端开发语言(PHP/Java/C/C++/python 等),有前端性能优化经历,具有一定的软件工程意识,对数据构造和算法设计有充分理解。...
同步.js 将快速变化的应用程序状态与所有连接的浏览器同步。 Jsynchronous 确保所有客户端看到的数据与您的服务器上的数据相同 - 即使它发生变化。 对于游戏来说足够快,对于...{ velocity : { x : 5 , y : 1.01 }
精通一种模板语言(Smarty、Velocity、Django 等),熟悉 Linux 平台,掌握一种后端开发语言(PHP/Java/C/C++/python 等),有前端性能优化经验,具有一定的软件工程意识,对数据结构和算法设计有充分理解。...
* 需要的技能:深刻理解计算机数据结构和算法设计,精通 C/C++、Java、PHP 中至少一门编程语言,了解 windows、unix、linux 等主流操作系统原理,熟练运用系统层支持应用开发 二、移动软件研发工程师工作职责: * ...