自 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 解析 URL,并消除了节点对其根路径配置的任何了解的需求。
使用上述示例,可以使用以下 HTML 在编辑器中加载这些资源:
<img src="resources/node-red-node-example/image.png" />
<script src="resources/node-red-node-example/library.js">
注意,URL 不以 /
开头。
版权所有 OpenJS Foundation 和 Node-RED 贡献者。保留所有权利。OpenJS Foundation 拥有并使用注册商标。有关 OpenJS Foundation 的商标列表,请参阅我们的 商标政策 和 商标列表。未在 OpenJS Foundation 商标列表 中列出的商标和徽标是其各自持有者的商标™或注册商标®。使用它们并不意味着与它们有任何关联或认可。
OpenJS Foundation | 使用条款 | 隐私政策 | OpenJS Foundation 章程 | 商标政策 | 商标列表 | Cookie 政策