В Node-RED, как вы ссылаетесь на библиотеку javascript после использования npm для установки - PullRequest
0 голосов
/ 21 января 2020

NodeRED

Я хочу использовать библиотеку xterm. js из https://xtermjs.org/, которую я установил с команда npm install xterm.

Я хотел бы использовать узел шаблона для запуска следующего кода, но я не знаю, как импортировать библиотеку xterm. js.

enter image description here

<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 -композит для запуска проекта:

docker -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>

1 Ответ

2 голосов
/ 22 января 2020

Node-RED не будет просто обслуживать файлы из npm установленных модулей. Вам нужно будет выполнить одно из следующих действий:

  1. Включить путь httpStatic в файле settings.js (путь к нему указан в ранних выходных данных журнала) и поместить файл xterm.js на этом пути. Затем к нему можно получить что-то вроде http:localhost: 1880 / xterm. js
  2. Использовать пару узлов http-in / http-out с файловым узлом между ними, чтобы сервировать файл на путь по вашему выбору. Для файлового узла необходимо указать полный путь к файлу xterm.js.

Вы не сказали, в каком каталоге вы работали, когда запускали npm install, поэтому я не могу подскажите, где файл закончился.

...