我创建了这个 stackBlitz 示例,其构建良好,没有错误。我已将其上传到 github 上的存储库,以便我在本地或通过 github.dev /stackBlitz dev 克隆和构建。
在每个克隆上,它都会抛出带有import { GooglePayButtonModule } from '@google-pay/button-angular';
的类型错误。
<google-pay-button environment="TEST" [paymentRequest]="paymentRequest"
(loadpaymentdata)="onLoadPaymentData($event)"></google-pay-button>
它抱怨 paymentRequest 配置:
paymentRequest = {
apiVersion: 2,
apiVersionMinor: 0,
allowedPaymentMethods: [
{
type: 'CARD',
parameters: {
allowedAuthMethods: ['PAN_ONLY', 'CRYPTOGRAM_3DS'],
allowedCardNetworks: ['AMEX', 'VISA', 'MASTERCARD'],
},
tokenizationSpecification: {
type: 'PAYMENT_GATEWAY',
parameters: {
gateway: 'example',
gatewayMerchantId: 'exampleGatewayMerchantId',
},
},
},
],
merchantInfo: {
merchantId: '12345678901234567890',
merchantName: 'Demo Merchant',
},
transactionInfo: {
totalPriceStatus: 'FINAL',
totalPriceLabel: 'Total',
totalPrice: '100.00',
currencyCode: 'USD',
countryCode: 'US',
},
};
其他 IDE 的错误示例...出了什么问题,为什么它可以工作而不是在
stackBlitz 上抱怨?
tsconfig 中是否有一些我缺少的关于严格类型的设置,而 StackBlitz 更同情?
"angularCompilerOptions": {
"enableI18nLegacyMessageIdFormat": false,
"strictInjectionParameters": true,
"strictInputAccessModifiers": true,
"strictTemplates": false << set to false here
}
我猜 stackblitz 不会读取此设置。