zoukankan      html  css  js  c++  java
  • 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/

  • 相关阅读:
    由当前acitivty直接退到桌面
    Android中SharedPreference多进程数据共享出错
    java回调机制
    Android 监听apk安装替换卸载广播
    jquery中如何退出each循环
    旋转六面体源码
    用CSS3制作的旋转六面体动画
    CSS中常用的字体单位:px、em、rem和%的区别
    css属性简写集合
    小游戏--别踩白块
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/9492693.html
Copyright © 2011-2022 走看看