#angular #npm
#angular #npm
Вопрос:
Я пытаюсь опубликовать библиотеку, выполнив np
следующие шаги:
ng g workspace my-workspace
ng g library modal
- Код….
- ng build modal —prod
- Редактировать 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
}
- Запустить мой собственный скрипт npm
npm run my-publish
- Установить с
npm i @myorg/modal"
После установки, когда я пытаюсь импортировать ModalModule, все происходит сбой. Это потому, что библиотека не очень хорошо опубликована.
Что я делаю не так? Что мне нужно изменить?
Ответ №1:
Чтобы решить эту проблему, мне нужно было скопировать dist/
в папку «Мои проекты» (модальную). Это связано с тем, что npm не может найти путь к каталогу корневой рабочей области. После этого я использую перехват предварительной версии из npm, чтобы сохранить управление версиями из np.
Я надеюсь, что это будет полезно для любого другого.