【问题标题】:Importing @angular/core when creating a service only module?创建仅服务模块时导入@angular/core?
【发布时间】:2018-08-25 02:28:14
【问题描述】:

总结

试图在 Visual Studio 代码中读取红色波浪线警告 @angular/core 无法解析。想法?

详情

我正在创建一个仅用于发布到 NPM 的服务模块。我在package.json 中有@angular/core 作为对等依赖项,并且我已经安装了它。我将服务放在 lib 文件夹中,其中有 import { Injectable } from '@angular/core';,但 Visual Studio Code 在其下方绘制了一条红色波浪线,悬停显示消息 [ts] cannot find the module @angular/core

这是package.json 中的依赖项的样子,它们都已安装:

"peerDependencies": {
  "@angular/core": "*"
},
"devDependencies": {
  "@angular/compiler": "^5.2.9",
  "@angular/compiler-cli": "^5.2.9",
  "rollup": "^0.57.0",
  "typescript": "^2.7.2",
  "uglify-js": "^3.3.15"
}

还尝试添加:

"paths": {
  "@angular/core": ["node_modules/@angular/core"],
}

tsconfig.json,但红色波浪线仍然存在。

截取了目前的设置截图:

【问题讨论】:

  • 也将@angular/core 添加到开发依赖项
  • 试过了,但 VSC 仍然会画出红色的波浪线
  • 你是否在将 npm install 添加到 devdependencies 后运行了它?你能提供一个plunk吗?好像是目录问题。
  • 尝试添加这个 "angularCompilerOptions": { "genDir": "../dist",} 并将你的 ourDir 更改为 '../dist'

标签: angular typescript npm visual-studio-code


【解决方案1】:

peerDependencies 旨在供您的包的消费者使用。它表明您的库需要安装该软件包,但不会让 NPM 安装它。对于开发,将“@angular\core”也添加到 devDependencies,然后再次运行npm install

【讨论】:

  • 我也在开发依赖中添加了它并验证了安装(参见 node_modules 文件夹的屏幕截图),但红色的波浪线仍然存在。
  • 我从头开始,先运行npm i --save-dev @angular/core,然后尝试导入。它起作用了,所以肯定是其他地方出了什么问题。谢谢!
猜你喜欢
  • 2020-01-28
  • 2020-08-01
  • 2019-12-13
  • 2018-10-19
  • 1970-01-01
  • 2015-12-02
  • 1970-01-01
  • 2020-12-21
  • 2015-09-29
相关资源
最近更新 更多