Опубликованная угловая библиотека не имеет импортированных модулей на npmjs - PullRequest
0 голосов
/ 03 апреля 2019

Я хочу опубликовать простую угловую библиотеку в npmjs.Итак, я выполнил следующие шаги:

  1. Создал проект:

    ng new my-project
    
  2. Создал библиотеку:

    ng g library my-lib
    
  3. Создан модуль для библиотеки:

    ng g module module1 --project my-lib
    
  4. Напишите некоторый код для модуля:

  5. Добавленообъявление библиотеки в файле public_api.ts:

    export * from './lib/module1/module1.module';
    
  6. Сборка и публикация библиотеки:

    ng build my-lib
    cd dist/my-lib
    npm publish
    

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

Если я запускаю

npm pack

, а затем импортирую библиотеку с

npm install --save path/to/my-lib.tgz 

в другом проекте, она работает, и у библиотеки есть экспортированный модуль.

НО

когда я устанавливаю библиотеку из репозитория npm с

npm install --save my-lib 

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

Как опубликовать библиотеку с модулем или модулями, которые я хочу сохранить доступными?

1 Ответ

0 голосов
/ 04 апреля 2019

Я решил проблему. На 6-м шаге выполните:

ng build my-lib
cd dist/my-lib
npm pack
npm publish my-lib-0.0.1.tgz

Теперь он опубликован и содержит все, что мне нужно, и я могу без проблем запустить npm install из репозитория npm. Решением было просто запустить команду npm pack и опубликовать файл tgz вместо файла dist.

...