Nodeframe是什么?
模块化的Node.js网站和WebService开发框架。
- 网站即模块,服务即模块;
- 支持基于规则的路由,MVC风格路由和RESTful路由;
- 基于express, swig, connect等主流的成熟node技术,上手门槛低;
- 支持可扩展特性、中间件等,内置微信公众号特性、单元测试中间件;
- 提供了一个类似phing的node任务执行引擎,方便部署和维护。
快速入门
第一步、部署Nodeframe
- 在空闲的硬盘中新建一个项目目录。如:web
- 在web目录中创建一个文件“package.json”写入以下内容:
{ "name": "Project Name", "version": "0.0.1", "private": true, "scripts": { "start": "node app-server.js" }, "dependencies": { "nodeframe": "*" } }- 从控制台进入web目录运行“npm install”。(请确保你的机器已经成功安装node)
- 在web目录中创建一个文件“app-server.js”写入以下内容:
require('nodeframe').start();- 在控制台运行“node app-server.js”
- 尝试在浏览器中访问“http://localhost:3000”(如果可以正常打开,恭喜你已经部署好代码)
第二步、创建最简单的网站模块
- 启动项目,框架会自动创建etc、public、web_modules等目录
- 在web_modules中创建目录“hello_node”作为网站模块
- 在hello_node中新建文件“bootstrap.js”并写入以下内容:
module.exports = { version: '0.0.1', // 模块的版本号 routes: { // 模块路由设置 '/': { rule: { // 路由的类型,可选的值为:rule、mvc或rest rules: { //路由列表 '/': { // 子路径 get: 'home.index' // 请求的类型以及控制器方法名,请求类型的可选值为:get或post } } } } } };- 在hello_node中创建控制器目录“controllers”和视图目录“views”
- 在controllers中新建控制器“home.js”并写入一下内容:
module.exports = { index: function (router) { // 方法名(注意:文件名即为控制器名) router.appendViewData({ // 组装需要发送到视图的数据 title: 'First website', // 网页标题 content: 'Hello nodeframe!' //网页内容 }); // 渲染index方法的视图(注意:home控制器的index方法对应“home_index.swig”视图) router.renderResponse(); } };- 在views中新建视图“home_index.swig”并写入一下内容:
<html> <head> <title>{{ title }}</title> </head> <body> {{ content }} </body> </html>- 更新项目配置文件“etc/development.js”的内容如下:
module.exports = { // 开启模块功能(注意:如果需要开启其他功能可以顺序列出) features: [ 'modules' ], modules: { hello_nodeframe: { route: "/hello" // 配置模块总路径,可以是任何你想要的路径。如:/test和/module1m(注意:在正常访问时,框架会将此路径跟模块中配置的路由合并) } } };- 在控制台重新启动项目“node app-server.js”
- 尝试在浏览器中访问地址“http://localhost:3000/hello”(如果在页面中看到”Hello nodeframe!“表示项目配置成功)