ng-packagr nie nadaje nazwy zewnętrznemu modułowi
Nie ma problemu podczas używania ng-packagr do pakowania pojedynczego projektu @ my/common-util. Ta klasa zawiera klasę abstrakcyjną o nazwie AbstractPerson w pliku abstract-person.ts.
Inny projekt o nazwie @ my/common-impl utworzył kolejną klasę Person, która rozszerza AbstractPerson i importuje ją przy użyciu nazwy pakietu @ my/common-util. Kiedy używam ng-packagr do spakowania go, pojawia się następujący błąd - & >
Nazwa modułu zewnętrznego „@ my/common/abstract-person” w options.globals - zgadywanie „abstractPerson” nie zostało określone
Ponieważ wydawało się to ostrzeżeniem, nadal instaluję npm zarówno @ my/common, jak i @ my/common-impl w innym projekcie, ale pojawia się następujący błąd podczas importowania klasy Person z @ my/common-impl
BŁĄD w ./ folderze node_modules/module@my/common-impl/esm5/common-impl.js not
znaleziono: błąd: nie można rozwiązać problemu „@ moja/wspólna/abst atrakcja twarzą w
Uprawnienie 'C: \ Data \ me \ node_modules \ @my \ common-impl \ e sm5'
„@ my/common/abstract-person w
Parsowane żądanie 'C: \ Data \ me \ node_modules \ @my \ common-impl \ esm5' to
moduł przy użyciu pliku opisu: C: \ Data \ me \ node_modules \ @my \ co
mmon-impl \ package.json (ścieżka względna: ./esm5) pole „przeglądarka”
nie zawiera poprawnej konfiguracji aliasu po użyciu opisu
file: C: \ Data \ me \ node_modules \ @my \ common-impl \ package.json (względne
ścieżka: ./esm5) zezwalaj jako moduł
Próbowałem kilku rzeczy, takich jak external, globals, umdModuleIds w package.json (patrz poniżej), ale żadna z nich nie zadziałała.
Oto plik package.json
{
"name": "@my/common-impl",
"version": "1.0.0-alpha.0",
"private": true,
"dependencies": {
"@my/common": "1.0.0-alpha.0"
},
"peerDependencies": {
"lodash": "^4.17.4"
},
"ngPackage": {
"$schema": "./node_modules/ng-packagr/ng-package.schema.json",
"dest": "dist/common-impl",
"workingDirectory": "../.ng_build",
"lib": {
"entryFile": "src/public_api.ts",
"externals": [
"@my/common/abstract-person"
],
"globals": {
"@my/common/abstract-person": "AbstractPerson"
},
"umdModuleIds": {
"abstract-person" : "AbstractPerson" }
}
}
}
Co jeszcze jest potrzebne, aby to naprawić?
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
3 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
katex
... Dodanie tego do w
./projects/myLibname/ng-package.json
pracował dla mnie.
<pre class="lang-json prettyprint-override">
Spowodowało to zniknięcie następującego ostrzeżenia
Dla zewnętrznego modułu 'katex' nie podano nazwy w output.globals - zgadywanie 'katex'
Anonimowy użytkownik
Potwierdzenie od:
Tutaj jest problem:
Dodaję swoją bibliotekę 1 i bibliotekę 2 do
teczka
https://hackernoon.com/one-vs- ... fe469
projekt .
I użyłem w kodzie biblioteki2.
aby rozwiązać błąd i oververide library1 path to library2
Twój problem prawdopodobnie zostanie rozwiązany, jeśli użyjesz właściwości zamiast „umdModuleIds”, „globals” i „externals”
Na koniec muszę wspomnieć o tym fakcie: „zewnętrzne” już nie istnieją w
schemat
https://github.com/dherges/ng- ... .json .
Anonimowy użytkownik
Potwierdzenie od:
W moim przypadku rozwiązałem ostrzeżenia w ten sposób.
Ng-package.json
>
tsconfig.json
>