我正在尝试为服务,组件和模型创建一个Angular 2库,我想在前面到同一数据库的3-4个不同界面/应用程序之间共享。无法解决共享的Angular 2库中的NPM依赖关系
我正在使用非常有用的Angular 2生成器库here。
我在图书馆的服务基于Apollo客户端和GraphQL。
但是,当我符号链接库构建导入到我的主项目,Apollo依赖似乎并没有解决。
我从我的应用程序构建中得到以下两个错误:Can't resolve 'apollo-angular/index'
和Can't resolve 'graphql-tag/index'
。尽管事实上这两个库都安装在我的应用程序的node_modules
中,但是,它们似乎没有通过Gulp构建转移到我的库的dist
目录中,但我甚至不确定它们是为了是。
我也试图建立对等的依赖在我的图书馆的package.json
如下:
"peerDependencies": {
"@angular/core": "^4.0.0",
"rxjs": "^5.1.0",
"zone.js": "^0.8.4",
"graphql-tag": "^2.4.2",
"apollo-angular": "^0.13.0",
"apollo-client": "~1.9.0-1"
}
此外,当我运行npm install
检查安装的一切,我得到npm WARN [email protected] requires a peer of [email protected]>=0.8.0 <=0.10.1 || >=1.0.0-rc <2.0.0 but none was installed.
和npm WARN [email protected] requires a peer of [email protected]>=0.7.2 <=0.10.1 || >=1.0.0-beta <2.0.0 but none was installed.
即使阿波罗的客户1.9.0-1
是安装。我收到了我的应用程序和运行npm install
的库的警告。
如果我在我的应用程序中直接使用Apollo客户端(而不是通过库),它仍可以正常工作,尽管存在这些警告。
任何人都可以帮助我指出正确的方向来解决这些问题吗?
UPDATE:
正如意见中的要求,我可以证实,阿波罗客户在我的两个应用程序的node_modules
文件夹存在和我的图书馆。在这两种情况下版本都是1.9.0-1
。 Apollo客户端用于轻松从Angular 2应用程序制作GraphQL查询。
定义路径不知道阿波罗客户做..你或许安装在全球,以及在项目级吧?全局版本超出允许范围(<0.8.0 || 2.0.0+)。也许这是以某种方式在项目版本上看到的。检查你的node_modules文件夹,看看npm安装的项目级别是否有版本,并添加反馈。 – JGFMK