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

Posted rongfengliang-荣锋亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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/

以上是关于ringojs 使用rp 包管理web 应用依赖的主要内容,如果未能解决你的问题,请参考以下文章

ringojs 基于jvm 的javascript 平台试用

yum管理工具

Springmvc 中org.springframework.http.converter.json.MappingJackson2HttpMessageConverter依赖jackson包(示例代

Web扩展的依赖关系管理

liunx安装包rpm及yum命令详解

用Maven构建Java Web开发环境(Jetty容器)