nodeframe框架系列之一 —— 快速入门 原创 node.js mvc rest web 模块化 Innev 07月01日发布 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”写入以下内容: ``` js { "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`并写入以下内容: ```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`并写入一下内容: ```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 <html> <head> <title>{{ title }}</title> </head> <body> {{ content }} </body> </html> ``` ###### 7. 更新项目配置文件`etc/development.js`的内容如下: ```js module.exports = { // 开启模块功能(注意:如果需要开启其他功能可以顺序列出) features: [ 'modules' ], modules: { hello_nodeframe: { route: "/hello" // 配置模块总路径,可以是任何你想要的路径。如:/test和/module1m(注意:在正常访问时,框架会将此路径跟模块中配置的路由合并) } } }; ``` ###### 8. 在控制台重新启动项目`node app-server.js` ###### 9. 尝试在浏览器中访问地址`http://localhost:3000/hello`(如果在页面中看到`Hello nodeframe!`表示项目配置成功) 07月01日发布 阅读原文 分享到: