在编辑器中加载额外资源

自 Node-RED 1.3 起

节点在编辑器中可能需要加载额外资源。例如,在帮助中包含图像或使用外部JavaScript和CSS文件。

在Node-RED的早期版本中,节点必须创建自定义的HTTP管理端点来提供这些资源。

在Node-RED 1.3或更高版本中,如果模块顶层有一个名为resources的目录,运行时环境将使该目录下的所有内容在编辑器内通过URL /resources//可访问。

例如,给定以下模块结构:

node-red-node-example
 |- resources
 |   |- image.png
 |   \- library.js
 |- example-node.js
 |- example-node.html
 \- package.json

默认的Node-RED配置会将这些资源文件暴露为:

  • http://localhost:1880/resources/node-red-node-example/image.png
  • http://localhost:1880/resources/node-red-node-example/library.js

注意: 如果使用带作用域的模块名称,则路径中需要包含该作用域:

  • http://localhost:1880/resources/@scope/node-red-contrib-your-package/somefile

在编辑器中加载资源

在编辑器中加载资源时,节点必须使用相对URL而非绝对URL。这允许浏览器根据编辑器URL解析相对路径,并消除了节点需要了解其根路径配置方式的需求。

Using the above example, the following HTML can be used to load those resources in the editor:

注意URL不以/开头。