node.js - aws-sdk/clients/cognitoidentity 没有导出成员 'String'

标签 node.js aws-sdk aws-amplify

启动 Angular 6.1.2 项目时出现此错误:

ERROR in node_modules/aws-amplify-angular/lib/components/storage/photo-picker-component/photo-picker.factory.d.ts(3,10): error TS2305: Module '"/Users/knewtone/Dropbox/knewtone.com/projects/WorkSpace/softwares/yet.marketing/node_modules/aws-sdk/clients/cognitoidentity"' has no exported member 'String'.

package.json

{
    "name": "******",
    "version": "3.0.2",
    "license": "UNLICENSED",
    "config": {
        "host": "****",
        "cloudfront": "******",
        "spechost": "******",
        "speccloudfront": "*******"
    },
    "scripts": {
        "ng": "ng",
        "start": "[ -f src/aws-exports.js ] && mv src/aws-exports.js src/aws-exports.ts || ng serve; ng serve",
        "build": "npm run commit && [ -f src/aws-exports.js ] && mv src/aws-exports.js src/aws-exports.ts || ng build --configuration=production; ng build --configuration=production && aws  cloudfront create-invalidation --distribution-id $npm_package_config_cloudfront --paths '/*'",
        "commit": "git add -A && git commit -m 'an other commit' && git push",
        "sendConfig": "aws s3 rm s3://******/$npm_package_config_spechost --recursive && aws s3 sync ./specs/$npm_package_config_spechost s3://*****/$npm_package_config_spechost && aws cloudfront create-invalidation --distribution-id $npm_package_config_speccloudfront --paths '/*'",
        "build:ssr": "npm run build:client-and-server-bundles && npm run webpack:server",
        "serve:ssr": "node dist/server",
        "build:client-and-server-bundles": "ng build --configuration=production && ng run ******:server",
        "webpack:server": "webpack --config webpack.server.config.js --progress --colors"
    },
    "private": true,
    "dependencies": {
        "@angular/animations": "^6.1.2",
        "@angular/common": "^6.1.2",
        "@angular/compiler": "^6.1.2",
        "@angular/core": "^6.1.2",
        "@angular/forms": "^6.1.2",
        "@angular/http": "^6.1.2",
        "@angular/platform-browser": "^6.1.2",
        "@angular/platform-browser-dynamic": "^6.1.2",
        "@angular/platform-server": "^6.1.2",
        "@angular/pwa": "^0.7.2",
        "@angular/router": "^6.1.2",
        "@nguniversal/common": "^6.0.0",
        "@nguniversal/express-engine": "^6.0.0",
        "@nguniversal/module-map-ngfactory-loader": "^6.0.0",
        "aws-amplify": "^1.0.5",
        "aws-amplify-angular": "^1.0.3",
        "aws-sdk": "2.289.0",
        "bootstrap": "^4.1.3",
        "chart.js": "^2.7.2",
        "classlist.js": "^1.1.20150312",
        "core-js": "^2.5.7",
        "jquery": "^3.3.1",
        "lodash": "^4.17.10",
        "ngx-quill": "^3.4.0",
        "popper.js": "^1.14.4",
        "quill": "^1.3.6",
        "sha1": "^1.1.1",
        "ts-loader": "^4.4.2",
        "web-animations-js": "^2.3.1",
        "zone.js": "^0.8.26"
    },
    "devDependencies": {
        "@angular-devkit/build-angular": "~0.7.2",
        "@angular/cli": "^6.1.2",
        "@angular/compiler-cli": "^6.1.2",
        "@angular/language-service": "^6.1.2",
        "@types/jquery": "^3.3.5",
        "@types/lodash": "^4.14.116",
        "@types/node": "^10.5.7",
        "codelyzer": "~4.4.3",
        "cpy-cli": "^2.0.0",
        "express": "^4.16.3",
        "http-server": "^0.11.1",
        "protractor": "~5.4.0",
        "reflect-metadata": "^0.1.12",
        "rxjs": "^6.2.2",
        "ts-node": "~7.0.0",
        "tslint": "~5.11.0",
        "typescript": "^2.9.2",
        "webpack-cli": "^3.1.0"
    }
}

更新

我在文件中看到错误

node_modules/aws-amplify-angular/lib/components/storage/photo-picker-component/photo-picker.factory.d.ts

import { OnInit, ComponentFactoryResolver, OnDestroy, EventEmitter } from '@angular/core';
import { DynamicComponentDirective } from '../../../directives/dynamic.component.directive';
import * as String from 'aws-sdk/clients/cognitoidentity'; // <--- the replaced statement

export declare class PhotoPickerComponent implements OnInit, OnDestroy {
  private componentFactoryResolver;
  framework: String;
  url: string;
  picked: EventEmitter<string>;
  loaded: EventEmitter<string>;
  componentHost: DynamicComponentDirective;
  constructor(componentFactoryResolver: ComponentFactoryResolver);
  ngOnInit(): void;
  ngOnDestroy(): void;
  loadComponent(): void;
}

然后我更换了

import { String } from 'aws-sdk/clients/cognitoidentity';

import * as String from 'aws-sdk/clients/cognitoidentity';

并且没有错误!

最佳答案

这是一个已知问题并已解决 upstream .

对于遇到此问题的任何人,只需将您的 aws-amplify 版本至少更新到 1.1.x 并将 aws-amplify-angular 更新到版本 2.0.x。

关于node.js - aws-sdk/clients/cognitoidentity 没有导出成员 'String',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51770885/

相关文章:

node.js - 我怎么知道 Mongoose addToSet 何时真正添加了一些东西?

node.js - 如何让 Node.js/Express.js 在 ssl 验证之前拒绝基于 vhost 的连接

javascript - 显示从 s3 获取的图像

amazon-web-services - 使用 AWSSDK 激活新的 CloudFront 自动压缩

amazon-web-services - 当 federatedSignIn(托管 UI)工作时,Aws amplify SignIn 方法返回不正确的用户名和密码

amazon-web-services - AWS Amplify 自定义解析器 - 不支持的操作 'BatchPutItem'

amazon-web-services - "Missing credentials in config"使用 aws-amplify 存储

node.js - Firebase 云函数 - 同时使用多个 HTTP 触发器会发生什么情况

javascript - 发送表单数据到 Node 服务器

javascript - 无法成功上传图片到s3然后查看