Опубликовать библиотеку angular 9 в npm с np

#angular #npm

#angular #npm

Вопрос:

Я пытаюсь опубликовать библиотеку, выполнив np следующие шаги:

  1. ng g workspace my-workspace
  2. ng g library modal
  3. Код….
  4. ng build modal —prod
  5. Редактировать package.json внутри proyects/modal
 {
  "name": "@myorg/modal",
  "version": "0.1.7",
  "peerDependencies": {
    "@angular/common": "^10.0.11",
    "@angular/core": "^10.0.11"
  },
  "dependencies": {
    "tslib": "^2.0.0"
  },
  "description": "Easy modal",
  "main": "karma.conf.js",
  "scripts": {
    "test": "echo "Error: no test specified"",
    "my-publish": "ng build modal --prod amp;amp; np"
  },
  
 
  "license": "ISC",
 
  "publishConfig": {
    "access": "public"
  },
  "np": {
    "contents": "./dist/modal"
  },

  //This try is new, but not working. 
  "module": "dist/modal/fesm2015/codice-progressio-modal.js",
  "es2015": "dist/modal/fesm2015/codice-progressio-modal.js",
  "esm2015": "dist/modal/esm2015/codice-progressio-modal.js",
  "fesm2015": "dist/modal/fesm2015/codice-progressio-modal.js",
  "typings": "dist/modal/codice-progressio-modal.d.ts",
  "metadata": "dist/modal/codice-progressio-modal.metadata.json",
  "sideEffects": false
} 

  1. Запустить мой собственный скрипт npm npm run my-publish
  2. Установить с npm i @myorg/modal"

После установки, когда я пытаюсь импортировать ModalModule, все происходит сбой. Это потому, что библиотека не очень хорошо опубликована.

Что я делаю не так? Что мне нужно изменить?

Ответ №1:

Чтобы решить эту проблему, мне нужно было скопировать dist/ в папку «Мои проекты» (модальную). Это связано с тем, что npm не может найти путь к каталогу корневой рабочей области. После этого я использую перехват предварительной версии из npm, чтобы сохранить управление версиями из np.

Я надеюсь, что это будет полезно для любого другого.