在IBM i上运行Node.js的Web应用程序,第1部分
在IBM i上使用OSS
您是否了解在IBM i上可以使用开源软件?
虽然这是英文,但已经有一份关于在IBM i上运行开源软件的文档公开发布了。
您可以在IBM i上使用Python、Node.js等软件。它们可以在IFS(集成文件系统)上使用,因此如果您熟悉bash等软件,您应该不会遇到特别困难的情况。
我们可以使用一些开源软件来实现,但这次我们将分几次介绍使用Node.js制作应用程序。
最终目标是创建一个使用Node.js进行数据库访问的Web应用程序。
为了做一个稍微互动的应用程序…我制作了一个可以通过摄像头读取二维码并更新状态的应用程序。
我已将创建的应用程序代码存放在这里。
由于我自己没有相关的Web应用开发经验,所以这个项目是我摸索着完成的。希望您能对不太完善的地方多多包涵。
安装OSS
这次不详细介绍步骤,但是在ACS中有开源软件包管理的选项,可以从那里进行OSS的安装。
另外,可以在IFS上使用yum进行安装。
通过GUI打开开源软件包管理,如果没有安装开源环境,应该会进行设置。
是图片最下方的选择项。
在IBM i上的Node.js
那么,我们立即进入有关 Node.js 的话题吧。
我们来查看一下通过 yum 安装可用的 Node.js 的版本。
Chinese paraphrase:
好的,我们马上来讨论一下 Node.js。
我们尝试验证一下通过 yum 安装可用的 Node.js 版本。
# yum search nodejs
ibmi-base | 3.6 kB 00:00:00
ibmi-base/primary_db | 578 kB 00:00:01
ibmi-release | 2.9 kB 00:00:00
========================================================================= N/S Matched: nodejs ==========================================================================
nodejs14.ppc64 : Node.js JavaScript Runtime
nodejs16.ppc64 : Node.js JavaScript Runtime
nodejs18.ppc64 : Node.js JavaScript Runtime
nodejs20.ppc64 : Node.js JavaScript Runtime
Name and summary matches only, use "search all" for everything.
看起来LTS版本似乎得到了支持。
可以使用yum install <要安装的软件包名称>来进行安装。
也可以从ACS中选择目标软件包,点击安装按钮即可。
运行后会显示是否要安装,请输入 y 进行安装。
# yum install nodejs20.ppc64
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package nodejs20.ppc64 0:20.8.1-1 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
===================================================================================================================================
Package Arch Version Repository Size
===================================================================================================================================
Installing:
nodejs20 ppc64 20.8.1-1 ibmi-base 45 M
Transaction Summary
===================================================================================================================================
Install 1 Package
Total download size: 45 M
Installed size: 45 M
Is this ok [y/N]:
在完成安装后,您可以使用 node -v 命令来确认已安装的版本。
# node -v
v20.8.1
你的安装是正确的,是吗?如果出现找不到命令的情况,请确认一下路径是否可以访问。
执行此操作将设置软件包路径。
echo 'PATH=/QOpenSys/pkgs/bin:$PATH' >> $HOME/.profile
echo 'export PATH' >> $HOME/.profile
现在,你已经可以使用Node.js了!
先试着动一下
首先,我们将尝试创建一个简单的页面,使得“Hello World!”能够在浏览器上显示出来。
※请注意,Node.js本身是一个javascript的执行环境,所以不一定要使用浏览器。但是由于我们的目标是创建一个Web应用程序,所以不会介绍简单的javascript执行方法。
创建一个目录来创建应用程序的目录。
在创建的目录中使用cd命令后,执行npm init –yes命令。
/home/E36965/work # mkdir helloworld
/home/E36965/work # cd helloworld/
/home/E36965/work/helloworld # npm init --yes
Wrote to /home/e36965/work/helloworld/package.json:
{
"name": "helloworld",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
现在,准备创建应用程序完成了。
创建一个名为index.js的新文件,并写下以下内容。
const http = require('http')
const svr = http.createServer(handler)
const port = 9443;
svr.listen(port)
console.log(`Listening on port ${port}!`)
function handler (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'})
res.end('<h1>Hello World!</h1>\n')
}
如果文件创建成功,就用node index.js来执行。
然后,Node.js会被执行,并且会显示我们指定的端口号。
/home/E36965/work/helloworld # node index.js
Listening on port 9443!
如果出现类似的显示,从浏览器中访问 http://:9443。
你好,世界!如果能看到”Hello, World!”,那就是成功了!
我打算在这里结束第一篇文章。从安装Node.js到简单的执行已经完成了。
我希望从下一次开始,可以集中讲解已经创建的应用,并逐步解释。
- 2つ目の記事はこちら