Angular 角度6图书馆消费者可以';我不能解决图书馆的问题
我在创建hello world库项目并通过npm从本地注册表安装该项目时遇到问题 我在我的图书馆消费者应用程序中不断收到此错误消息:Angular 角度6图书馆消费者可以';我不能解决图书馆的问题,angular,angular-library,Angular,Angular Library,我在创建hello world库项目并通过npm从本地注册表安装该项目时遇到问题 我在我的图书馆消费者应用程序中不断收到此错误消息: ERROR in src/app/app.module.ts(4,31): error TS2307: Cannot find module 'ng-test-lib'. 库包正在被安装到nodemodules文件夹中。以下是屏幕截图: 以下是捆绑在npm包中的package.json的内容: { "_from": "ng-test-lib@prerele
ERROR in src/app/app.module.ts(4,31): error TS2307: Cannot find module 'ng-test-lib'.
库包正在被安装到nodemodules文件夹中。以下是屏幕截图:
以下是捆绑在npm包中的package.json的内容:
{
"_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中指定一个main属性似乎解决了我的问题,但我的问题是为什么Angular的库脚手架在生成库时不将main属性添加到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"
}
}
对我来说,添加主属性是一种不好的做法吗?似乎它可能是一种IDE特性。安装库后是否关闭并重新打开IDE?我使用VS代码,有时不重新加载它就无法处理这些问题。是的,我重新启动了ide,屏蔽了node_modules文件夹,甚至让同事安装并复制了错误,您不需要手动将“main”条目添加到编译的库中。一定是出了什么事。我的工作非常完美,没有任何手动过程。只需
ng build--prod library name
就可以了。您的构建步骤是否在dist/yourlib/下生成的package.json中添加了main属性?