Innevs

nodeframe框架系列之一 —— 快速入门

原创node.jsmvcrestweb模块化innev7月1日23 阅读

nodeframe框架系列之一 —— 快速入门

Nodeframe是什么?

模块化的Node.js网站和WebService开发框架。
1. 网站即模块,服务即模块;
2. 支持基于规则的路由,MVC风格路由和RESTful路由;
3. 基于express, swig, connect等主流的成熟node技术,上手门槛低;
4. 支持可扩展特性、中间件等,内置微信公众号特性、单元测试中间件;
6. 提供了一个类似phing的node任务执行引擎,方便部署和维护。

快速入门

第一步、部署Nodeframe

1. 在空闲的硬盘中新建一个项目目录。如:web
2. 在web目录中创建一个文件“package.json”写入以下内容:
{      
    "name": "Project Name",  
    "version": "0.0.1",  
    "private": true,  
    "scripts": {  
        "start": "node app-server.js"  
    },  
    "dependencies": {  
        "nodeframe": "*"  
    }  
}
3. 从控制台进入web目录运行npm install(请确保你的机器已经成功安装node)
4. 在web目录中创建一个文件app-server.js写入以下内容:
require('nodeframe').start();
5. 在控制台运行 node app-server.js
6. 尝试在浏览器中访问 http://localhost:3000(如果可以正常打开,恭喜你已经部署好代码)

第二步、创建最简单的网站模块

1. 启动项目,框架会自动创建etc public web_modules等目录
2. 在web_modules中创建目录hello_node作为网站模块
3. 在hello_node中新建文件bootstrap.js并写入以下内容:
module.exports = {
 
    version: '0.0.1', // 模块的版本号
 
    routes: { // 模块路由设置
 
        '/': {
            rule: { // 路由的类型,可选的值为:rule、mvc或rest
                rules: { //路由列表
                    '/': { // 子路径
                        get: 'home.index' // 请求的类型以及控制器方法名,请求类型的可选值为:get或post
                    }
                }
            }
        }
 
    }
};
4. 在hello_node中创建控制器目录controllers和视图目录views
5. 在controllers中新建控制器home.js并写入一下内容:
module.exports = {
    index: function (router) { // 方法名(注意:文件名即为控制器名)
 
        router.appendViewData({ // 组装需要发送到视图的数据
            title: 'First website', // 网页标题
            content: 'Hello nodeframe!' //网页内容
        });
 
        // 渲染index方法的视图(注意:home控制器的index方法对应“home_index.swig”视图)
        router.renderResponse();
    }
};
6. 在views中新建视图home_index.swig并写入一下内容:
<html>
<head>
    <title>{{ title }}</title>
</head>
 
<body>
{{ content }}
</body>
 
</html>
7. 更新项目配置文件etc/development.js的内容如下:
module.exports = {
    // 开启模块功能(注意:如果需要开启其他功能可以顺序列出)
    features: [
        'modules'
    ],
 
    modules: {
        hello_nodeframe: {
            route: "/hello" // 配置模块总路径,可以是任何你想要的路径。如:/test和/module1m(注意:在正常访问时,框架会将此路径跟模块中配置的路由合并)
        }
    }
};
8. 在控制台重新启动项目node app-server.js
9. 尝试在浏览器中访问地址http://localhost:3000/hello(如果在页面中看到Hello nodeframe!表示项目配置成功)