• ringojs 使用rp 包管理web 应用依赖


    rp 是一个类似npm 的包管理工具,我们可以使用package.json 定义依赖
    然后执行rp install 即可,类似ringo-admin 的功能
    其中packages 类似node 的node_modules,安装后的包在packages 目录中

    参考代码

    • 项目结构
    ├── Dockerfile   // dockerfile 
    ├── README.md
    ├── app
    │ ├── app.js  // app module
    │ ├── index.js  // app module 入口
    │ └── package.json  // app 包信息
    ├── boot.js    
    ├── docker-compose.yaml   // docker-compose 配置
    ├── index.js   //  stick  web app 入口
    ├── package.json  // 定义项目以及包依赖
    └── user
        ├── package.json     // user module
        └── user.js      // user module
    • 代码说明

      主要是stick 的使用以及module 的定义,引用

    app/app.js
    exports.app= {
    name:"dalong",
    age:33,
    type:"app"
    }
    
    app/index.js:
    const {app} =require("./app")
    exports.app=app;
    app/package.json :
    入口
    {
    "version": "1.0.0",
    "main": "app.js",
    "license": "MIT"
    }
    
    index.js : app 入口
    类似 express 框架
    const {app } = require("./app")
    const {user} = require("./user")
    const boot = require("./boot")
    console.dir(boot.run())
    var {Application} = require('stick');
    var response = require("ringo/jsgi/response")
    var app2 = exports.app = new Application();
    app2.configure('route');
    app2.get('/', function(request) {
    return {
    body: ['Hello World dalongdemo'],
    headers: {'Content-Type': 'text/html'},
    status: 200
    }
    });
    app2.get("/user",function(request){
    return response.html("<div>"+JSON.stringify(request.headers)+"<br>"+JSON.stringify(user)+"</div>")
    })
    
    if (require.main == module) {
    require('ringo/httpserver').main(module.id);
    }
    Dockerfile: 
    
    FROM dalongrong/ringojs-docker:1.2.1-local
    WORKDIR /app
    COPY . /app/
    RUN rp install -y
    ENTRYPOINT [ "ringo","index.js","-H","0.0.0.0"]
    
    docker-compose.yaml:
    version: "3"
    services:
      app:
        image: dalongrong/ringojs-app-demo
        build: ./
        ports:
        - "8080:8080"

    构建&&运行

    • 本地运行
    rp  install  -y
    备注: rp 安装 
    ringo-admin install http://packages.ringojs.org/download/rp/latest
    ringo index.js 
    • docker 运行
    docker-compose build
    docker-compose up -d

    运行效果

    安装的包pakcages

    web 运行界面

    参考资料

    https://github.com/rongfengliang/ringojs-module-demo
    https://ringojs.org/documentation/package_management/

  • 相关阅读:
    js全局变量
    $.getJSON异步请求和同步请求
    让js中的函数只有一次有效调用
    两个div并排显示,当浏览器界面缩小时会出现换行
    jquery获取窗口和文档的高度和宽度
    后台传带引号(")的数据需要注意
    C# dynamic
    (转)数据库函数解析JSON字符串
    Unicode和UTF-8
    用户通过浏览器修改表单隐藏域
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/9492693.html
Copyright © 2020-2023  润新知