Как импортировать разветвленную библиотеку в Angular2 - PullRequest
0 голосов
/ 07 мая 2018

Я так долго искал ответ, но ничего не нашел, поэтому извините меня, если часто задают мой вопрос, но я слишком глуп, чтобы правильно его погуглить.

Я пытался использовать библиотеку JS drag'n'drop Draggable , но мне нужно изменить некоторые вещи, чтобы использовать ее правильно.

Итак, я загрузил его, но теперь у меня проблемы с его импортом.

  • Я пытался импортировать его как модуль, но это расширение файла .js со всем импортом и экспортом в нем (я пытался изменить его на .ts, но это не помогает);
  • Я пытался импортировать его в index.html, но он предупреждает, что этот файл имеет тип text / html, поэтому его нельзя импортировать;
  • Я пытался взаимодействовать с npm, чтобы создать свой собственный пакет из разветвленной библиотеки или чего-то в этом роде, но я так хромаю в npm, что шансов не было.

Так что я смотрю способ импортировать эту локальную библиотеку, чтобы она работала как импортированная через npm, но может внести в нее некоторые изменения.

Я использую Ubuntu Mate 16.04, папка моего проекта Angular2 выглядит так: приложение | --draggable (папка с библиотекой, которую я хочу использовать) | другие компоненты и стандартные файлы

РЕДАКТИРОВАТЬ: Я установил библиотеку через npm, используя путь / к / папке (npm install ./src/app/draggable --save внутри моего приложения Angular2), поэтому в package.json это строка с именем пакета и: "file:src/app/draggable" после этого.

Но когда я пытаюсь использовать это как import { Droppable } from '{myName}', это ошибка компиляции: Module not found: Error: Can't resolve '{myName}' in '/{pathToProject}/src/app'

Как я могу это исправить и использовать локальную библиотеку?

1 Ответ

0 голосов
/ 07 мая 2018

Вы можете npm publish ваш измененный пакет под другим именем (имя в package.json) до npmjs.org. Для этого вы набираете npm publish в командной строке из корневого каталога пакетов, где находится packagage.json вашего пакета. И затем вы импортируете, как если бы вы делали с оригинальной упаковкой (и можете изменить название пакета).

Или вы можете внести изменения в папку node_modules (но это временно и может быть отменено при вызове npm install). Поэтому, если вы выберете второй подход, вам следует скопировать пакет с отверстиями в другое место. Таким образом, импорт такой же.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...