小编hsa*_*tos的帖子

为Cordova平台设置特定插件

我正在使用cordova最新版本(5.XX)来构建一个多平台应用程序(ios/android/wp8).在"main/root"config.xml中,我指定了一些插件依赖项:

<plugin name="cordova-plugin-camera" spec="~1.2.0" />
<plugin name="cordova-plugin-console" spec="~1.0.1" />
<plugin name="cordova-plugin-datepicker" spec="~0.8.6" />
<plugin name="cordova-plugin-device" spec="~1.0.1" />
<plugin name="cordova-plugin-file" spec="~3.0.0" />
Run Code Online (Sandbox Code Playgroud)

但是我需要为每个平台添加特定的插件.例如在wp8中使用"X"插件并在iOS平台中使用"Y"插件.

我尝试在平台内设置插件依赖项,但运气不错:

<platform name="wp8">
    <preference name="fullscreen" value="true"/>
    <preference name="webviewbounce" value="false"/>
    <preference name="UIWebViewBounce" value="false"/>

    <plugin name="some-plugin-name" spec="version_number" />

</platform>
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

或者,还有其他方法吗?我可以安装多个插件"A,B,C,D",添加平台时只包含"A,B,D"吗?

我知道我可以手动添加/ del插件,但这是一个非常大的项目,有一些不同的人在上面工作,如果我可以创建一些自动过程,那就太棒了.

plugins platform config cordova

12
推荐指数
0
解决办法
1661
查看次数

错误 TS2304:找不到名称“ImageCapture”且已安装 @types/w3c-image-capture

我正在使用 Ionic 4 和 Angular 7 开发 PWA。

我需要访问网络摄像头(如果存在),然后在画布中渲染。在此过程中,我使用ImageCapture ( https://developer.mozilla.org/en-US/docs/Web/API/ImageCapture )。

let constrains = 
{
        audio:false,
        video: 
        {
            frameRate: { ideal: 60, min: 30 },
            facingMode: { ideal: "user" },
            width:  { exact: 626 },
            height: { exact: 720 },
        }
}    

navigator.mediaDevices.getUserMedia(constrains).then(mediaStream => 
{
        this.Webcam.nativeElement.srcObject = mediaStream;

        this.Webcam.nativeElement.play();

        const track = mediaStream.getVideoTracks()[0];

        let ic:ImageCapture = new ImageCapture(track);

        return this.ImageCapture.getPhotoCapabilities();
});
Run Code Online (Sandbox Code Playgroud)

我收到一个错误,因为 TypeScript 对 ImageCapture 一无所知,所以我安装了类型并将它们添加到我的 package.json 中:

npm install --save-dev @types/w3c-image-capture
Run Code Online (Sandbox Code Playgroud)

当使用“ionicserve”或“ionicbuild--prod”构建应用程序时,我收到此错误:

src/app/pages/photoframe/photoframe-take/photoframe-take.page.ts(26,22) 中的错误:错误 TS2304:找不到名称“ImageCapture”。src/app/pages/photoframe/photoframe-take/photoframe-take.page.ts(117,28):错误TS2663:找不到名称“ImageCapture”。您是指实例成员“this.ImageCapture”吗?

如果我调试应用程序,ImageCapture 就有价值,所以这只是我构建的问题。 …

image-capture typescript typescript-typings angular

5
推荐指数
2
解决办法
6031
查看次数

角 9 | 无法绑定到“loading”,因为它不是“img”的已知属性

我正在使用 Angular 9,并且我简单地尝试将 img 元素的属性“loading”绑定到 Angular 属性。如果我在开发模式下运行应用程序,而不是在生产模式下运行该应用程序,则此方法有效。

在我的模板中我有这个:

<img [src]="image" [loading]="loading" [alt]="title">
Run Code Online (Sandbox Code Playgroud)

在组件中我有这个:

import { Component, OnInit, Input } from '@angular/core';

@Component(
{
    selector: 'image-card',
    templateUrl: './image-card.component.html',
    styleUrls: ['./image-card.component.scss'],
})
export class ImageCardComponent implements OnInit
{
    @Input() loading:"lazy" | "eager" = "lazy";
    @Input() title:string;
    @Input() image?:string;

    constructor() { }

    ngOnInit() 
    {
        this.image = this.image || "assets/images/default_image.jpg";
    }
}
Run Code Online (Sandbox Code Playgroud)

这是在开发构建/ng 服务上运行的,但如果我运行产品构建:

ng build --prod
Run Code Online (Sandbox Code Playgroud)

我收到错误:

无法绑定到“loading”,因为它不是“img”的已知属性。

该属性存在,https://caniuse.com/#search=loading为什么我收到错误?

如何在产品构建中排除此验证/限制?

例如,alt 绑定工作正常,没有错误。

编辑:包括更好的代码示例。

bind image loading angular

5
推荐指数
1
解决办法
3491
查看次数