rp 是一個相似npm 的包管理工具,咱們可使用package.json 定義依賴
而後執行rp install 便可,相似ringo-admin 的功能
其中packages 相似node 的node_modules,安裝後的包在packages 目錄中html
├── 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 的定義,引用node
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-compose build docker-compose up -d
安裝的包pakcages
web 運行界面
git
https://github.com/rongfengliang/ringojs-module-demo
https://ringojs.org/documentation/package_management/github