block customStyle //- HTML5 shim, for IE6-8 support of HTML5 elements. All other JS at the end of file. | -->

应用VSCode本地调试方法介绍

如果不希望使用在线WebIDE进行开发,您可以使用以下步骤在VSCode中本地调试CEAMS系统应用:

1.确保本地已安装node.js V12 LTS或以上版本

2.使用以下命令安装CDIF框架:

npm install --registry=http://public-reg.apemesh.com:8080/ -g @apemesh/cdif@latest

3.应用的压缩包代码可以从CEAMS系统上下载后,使用Winzip等工具解压。这里假定解压后的应用代码所在文件夹为C:\Users\mchen\Downloads\ceams-custom-interface-1.16.0

4.进入应用代码所在文件夹的\package子目录,也就是C:\Users\mchen\Downloads\ceams-custom-interface-1.16.0\package目录,并且在该目录中执行npm install,确保应用的依赖已经安装

5.在VSCode中使用File Open Folder功能打开应用所在目录,即C:\Users\mchen\Downloads\ceams-custom-interface-1.16.0\package目录:

应用VSCode本地调试

6.在VSCode顶部菜单中选择Debug Open Configuration,选择Node.js,打开launch.json文件,并确保configurations数组中提供了类似下面这样的配置:

"configurations": [
{
  "type": "node",
  "request": "launch",
  "name": "cdif",
  "runtimeArgs": ["--experimental_worker"],
  "program": "C:\\Users\\mchen\\AppData\\Roaming\\npm\\node_modules\\@apemesh\\cdif\\app.js",
  "args": ["--debug", "--loadModule", "C:\\Users\\mchen\\Downloads\\ceams-custom-interface-1.16.0\\package"],
  "outputCapture": "std"
}
]

以上program项应配置为cdif框架所在的执行文件,一般应该在node安装文件夹的node_modules/@apemesh/cdif/app.js。args一项的最后应设置为项目所在文件夹路径,例如以上的C:\Users\mchen\Downloads\ceams-custom-interface-1.16.0\package目录

7.然后可以开始在VSCode菜单中选择Debug Start Debugging启动调试,然后在VSCode中执行打断点、观察变量等操作:

应用VSCode本地调试

8.对应用的API测试调用可以使用POSTMAN或者类似以下这样的curl命令,此处不提供POSTMAN的配置和使用方法:

curl -X POST -H 'Content-Type: application/json' -d '{"serviceID":"urn:apemesh-com:serviceID:db-request","actionName":"request","input":{"db": "devices"}}' http://192.168.0.15:9527/devices/3a509370-6db9-5fd0-9e98-4a912810d805/invoke-action

发出API测试调用后,系统应当会自动跳转到VSCode断点所在位置。

9.调试完成后,可以在应用文件夹中执行npm pack命令,并且将压缩包上传回CEAMS系统发布和部署。每次上传发布的应用压缩包中的package.json文件中,version字段的取值必须为新的版本号,而不能使用CEAMS系统上已有应用的已存在的版本号。举例来说,如果从CEAMS系统上下载并调试的应用包为1.0.0版本,则上传回的压缩应用包必须修改并使用新的版本号,例如1.0.1,1.1.0等,继续上传1.0.0版本的应用包将被系统拒绝。

10.如果希望在Windows命令行中,而不是在VSCode内启动CDIF框架并加载应用,可以使用以下命令:

node C:\\Users\\mchen\\AppData\\Roaming\\npm\\node_modules\\@apemesh\\cdif\\app.js --debug --loadModule C:\\Users\\mchen\\Downloads\\ceams-custom-interface-1.16.0\\package

11.postman设置:header中的Content-Type参数设置为application/json。

应用VSCode本地调试

请求方式选POST: 请求地址可以在VSCode菜单中选择Debug(有些版本是Run) Run Without Debugging启动调试,然后在下图中找到ip、端口和device

应用VSCode本地调试

在请求地址栏中填入:172.17.88.113:9527/devices/9ecb682d-c0ae-53ba-a37d-2da79a78a89a/invoke-action

应用VSCode本地调试

Body中选“raw“ 输入框中填入json字符串。

应用VSCode本地调试

点击“Send”,开启调试。

回到顶部