首页 > 解决方案 > 在 Node-RED 中,使用 npm 安装后如何引用 javascript 库

问题描述

NodeRED

我希望使用https://xtermjs.org/中的xterm.js库,我使用命令安装了该库。npm install xterm

我想使用模板节点来运行以下代码,但我不知道如何导入 xterm.js 库。

在此处输入图像描述

<link rel="stylesheet" href="what-path-do-i-use/xterm/css/xterm.css" />
<script src="what-path-do-i-use/xterm/lib/xterm.js"></script>

<div id="terminal"></div>

<script>
var term = new Terminal();
term.open(document.getElementById('terminal'));
term.write('Hello from \x1B[1;3;31mxterm.js\x1B[0m $ ')
</script>

我使用 docker-compose 来启动项目:

码头工人-compose.yml

version: "3.7"

services:
  node-red:
    image: nodered/node-red:latest
    user: root
    environment:
      - TZ=America/New_York
    ports:
      - "1880:1880"
    networks:
      - node-red-net
    volumes:
      - .node-red-data:/data

networks:
  node-red-net:

不看 CDN

像下面这样的 CDN 链接是一个临时解决方案,但应该有一种方法可以引用 npm 模块库。

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/xterm/3.14.5/xterm.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/xterm/3.14.5/xterm.min.js"></script>

标签: javascriptnpmnode-red

解决方案


Node-RED 不仅仅提供来自 npm 安装模块的文件。您必须执行以下操作之一:

  1. 启用文件httpStatic中的路径settings.js(早期日志输出中列出了此路径)并将xterm.js文件放置在该路径中。然后可以通过类似 http:localhost:1880/xterm.js 的方式访问它
  2. 使用一对 http-in/http-out 节点,它们之间有一个文件节点,以便在您选择的路径上提供文件。需要使用文件的完整路径设置文件节点xterm.js

你还没有说你在运行时npm install所在的目录,所以我无法建议文件将在哪里结束。


推荐阅读