在Visual Studio解决方案中安装Angular Material

时间:2017-05-23 16:40:25

标签: angular angular-material visual-studio-2017

我有一个大型Visual Studio解决方案(运行VS 2017),其中一些项目包含AngularJS(1.4.7),一些项目包含Angular(2.0)。我不认为这是一个问题,只是完全披露。

我目前正在尝试安装Angular Material以用于Angular项目。

第一个问题:材料 material2 是同义词吗?我知道AngularJS有一个材料,我知道它是Angular的材料,但它们似乎可以互换使用它们 - 或者至少偶尔丢弃版本号。我去安装 material2 ,我发现自己正在安装 material 。我希望它只是为我照顾正确的版本。

在我的node_modules / @ angular目录中使用Powershell,我运行的是:

npm install --SAVE angular-material

但这就是我得到的:

arv2@0.0.0 C:\proj\ClientPortal\dev\Leaves\MorneauShepell.ClientPortal\MorneauShepell.ClientPortal.Web
+-- UNMET PEER DEPENDENCY angular@>=1.3 <1.7
+-- UNMET PEER DEPENDENCY angular-animate@>=1.3 <1.7
+-- UNMET PEER DEPENDENCY angular-aria@>=1.3 <1.7
`-- angular-material@1.1.4

arv2@0.0.0 C:\proj\ClientPortal\dev\Leaves\myCo.ClientPortal\myCo.ClientPortal.Web
+-- UNMET PEER DEPENDENCY angular@>=1.3 <1.7
+-- UNMET PEER DEPENDENCY angular-animate@>=1.3 <1.7
+-- UNMET PEER DEPENDENCY angular-aria@>=1.3 <1.7
`-- angular-material@1.1.4

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.1: wanted {"os":"darwin","arch":"any
"} (current: {"os":"win32","arch":"x64"})
npm WARN angular-material@1.1.4 requires a peer of angular@>=1.3 <1.7 but none was installed.
npm WARN angular-material@1.1.4 requires a peer of angular-animate@>=1.3 <1.7 but none was installed.
npm WARN angular-material@1.1.4 requires a peer of angular-aria@>=1.3 <1.7 but none was installed.

我担心我不知道为什么会抱怨或者为此做些什么。

1 个答案:

答案 0 :(得分:1)

是的,它们是完全不同的库,每个库都有自己的语法。您正在使用angular-material为AngularJS安装材质库(对于记录,Material for Angular 2+是包@angular/material)。 Angular 2+的材质库最初名为material2,但此名称已修订,很少被称为material2,只是材质。 @angular/material的回购仍称为material2

在这里,npm告诉你有一些未满足的依赖项。 angualr-material npm install(我将其引用为AngularJS材料)声明您需要angular-animate angular-ariaAngularJS,这些通常是补充库angular-messages但由材料库使用。您需要在HTML中引用它们(或者只使用CDN)并将它们导入到Angular模块中。你还需要node_modules,但看起来你已经安装了它。

  

npm WARN angular-material@1.1.4需要一个角度为@&gt; = 1.3&lt; 1.7但未安装的对等。

正如你提到的那样安装了1.4.7,那个没有意义。有时NPM的警告可能有点不准确,所以除非你的应用遇到问题,否则我会忽略它。此外,只是基于您的文件路径的想法...您在静态位置或多个位置有extension UIImage { func grayScaleImage() -> UIImage { //let imageRect = CGRectMake(0, 0, self.size.width, self.size.height); let imageRect = CGRect(origin: CGPoint.zero, size: self.size) let colorSpace = CGColorSpaceCreateDeviceGray(); let width = Int(self.size.width) let height = Int(self.size.height) let context = CGContext(data: nil, width: width, height: height, bitsPerComponent: 8, bytesPerRow: 0, space: colorSpace, bitmapInfo: .allZeros) // set Fill Color to White (or some other color) context?.setFillColor(UIColor.white.cgColor) // Draw a white-filled rectangle before drawing your image context?.fill(imageRect) context?.draw(self.cgImage!, in: imageRect) let imageRef = context?.makeImage() let newImage = UIImage(cgImage: imageRef!) return newImage } } 吗?如果是多个,那么在搜索依赖项时可能会导致npm陷入困境。