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

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

Nodeframe是什么?


模块化的Node.js网站和WebService开发框架。
  1. 网站即模块,服务即模块; 
  2. 支持基于规则的路由,MVC风格路由和RESTful路由;
  3. 基于express, swig, connect等主流的成熟node技术,上手门槛低;
  4. 支持可扩展特性、中间件等,内置微信公众号特性、单元测试中间件; 
  5. 提供了一个类似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!“表示项目配置成功)
目录
相关文章
|
开发框架 关系型数据库 MySQL
Zino开发框架快速入门
​本文将以zino仓库下的examples/axum-app为例,详细讲解怎么使用zino框架快速开发一个后端API服务。
203 1
|
算法 C语言 C++
快速入门C++
快速入门C++
87 0
|
Kubernetes 监控 调度
K8S快速入门
K8S快速入门
132 0
|
Kubernetes Linux API
[没接触过kubevirt?]15分钟快速入门kubevirt
什么是kubevirt? kubevirt是一个容器方式运行虚拟机的项目。`kubevirt`是附加`kubernetes`集群上的,它是通过 `CustomResourceDefinition(CRD)`部署到`Kubernetes API`变成资源对象。使用方式类似创建`deploy、pod`......这些资源清单。
4463 0
[没接触过kubevirt?]15分钟快速入门kubevirt
|
1月前
|
Java 编译器 程序员
【c++】基础知识——快速入门c++
本文介绍了C++的基础知识,包括C++相对于C语言的新特性,如面向对象编程、引用、函数重载、模板库STL等。文章通过“Hello World”程序展示了C++的基本语法,并详细解释了命名空间、输入输出、缺省参数、函数重载、内联函数和空指针的概念。通过实例代码和运行结果,帮助读者快速掌握C++的核心知识点。
61 9
|
6月前
|
存储 Python
PythonOOP快速入门
PythonOOP快速入门
|
7月前
|
算法 数据可视化 Java
Gephi快速入门
Gephi快速入门
|
7月前
|
存储 编译器 Linux
C++:快速入门篇
C++:快速入门篇
80 0
|
7月前
|
存储 算法 程序员
C++基础快速入门
C++基础快速入门
112 0
C++基础快速入门
|
Linux Windows
QMQTT快速入门
环境搭建 • 准备一台linux设备和一台windows设备虚拟机也是可以的; • 安装mosquitto ; • 准备QMQTT环境 - windows下;
175 0