У меня проблемы с созданием проекта hello world library и использованием npm установки из нашего локального реестра.
Я продолжаю получать это сообщение об ошибке в своем приложении для библиотеки:
ERROR in src/app/app.module.ts(4,31): error TS2307: Cannot find module 'ng-test-lib'.
Пакет библиотеки устанавливается в папку nodemodules просто отлично. Вот снимок экрана:
Вот содержимое файла package.json, который был упакован в пакет npm:
{
"_from": "ng-test-lib@prerelease",
"_id": "ng-test-lib@0.0.0-b20180829144257",
"_inBundle": false,
"_integrity": "sha512-9oOX6tB+HdvHfOWVbv8fFEC3WpxPd7nvHn6bBMAGlPP6/2RumidYFQLYCSdSE+w7pjF96PippgTBK8DUxkxEMw==",
"_location": "/ng-test-lib",
"_phantomChildren": {},
"_requested": {
"type": "tag",
"registry": true,
"raw": "ng-test-lib@prerelease",
"name": "ng-test-lib",
"escapedName": "ng-test-lib",
"rawSpec": "prerelease",
"saveSpec": null,
"fetchSpec": "prerelease"
},
"_requiredBy": [
"#USER",
"/"
],
"_resolved": "http://nexus/content/groups/alm_public_read_npm/ng-test-lib/-/ng-test-lib-0.0.0-b20180829144257.tgz",
"_shasum": "c3de3039fe37908292834d4edac893a8f118a28f",
"_spec": "ng-test-lib@prerelease",
"_where": "C:\\lib-client",
"bundleDependencies": false,
"deprecated": false,
"name": "ng-test-lib",
"peerDependencies": {
"@angular/common": "^6.0.0-rc.0 || ^6.0.0",
"@angular/core": "^6.0.0-rc.0 || ^6.0.0"
},
"version": "0.0.0-b20180829144257"
}
Вот как я пытаюсь его импортировать:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import {NgTestLibModule} from 'ng-test-lib';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
NgTestLibModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
Есть какие-нибудь указатели относительно того, как я могу решить эту проблему здесь? Сама библиотека - это просто библиотека hello world, без каких-либо внешних зависимостей или чего-то еще, просто пытающаяся доказать путь на данный момент.
Спасибо!
---- РЕДАКТИРОВАТЬ
Таким образом, похоже, что указание главного атрибута в projects / ng-test-lib / package.json устранило мою проблему, но мой вопрос заключается в том, почему библиотека лесов Angular не добавляет основной атрибут в файл package.json, когда он Генс библиотека?
Добавление
{
"name": "ng-test-lib",
"version": "0.0.1",
"main":"fesm2015/ng-test-lib.js",
"peerDependencies": {
"@angular/common": "^6.0.0-rc.0 || ^6.0.0",
"@angular/core": "^6.0.0-rc.0 || ^6.0.0"
}
}
Это плохая практика для меня, чтобы добавить основной атрибут?