Javascript 带有Ionic 2 Angular 2和TypeScript的OpenPGP

Javascript 带有Ionic 2 Angular 2和TypeScript的OpenPGP,javascript,angular,typescript,ionic2,typescript-typings,Javascript,Angular,Typescript,Ionic2,Typescript Typings,我正在尝试将OpenPgp导入到一个用Angular 2和TypeScript编写的Ionic 2应用程序中 但是,TypeScript将类型作为模块而不是模块导入。OpenPgp是用AMD、ES6模块支持编写的,我尝试过的所有东西都不起作用 除了JS中的加密之外,我如何使其工作 您只需将脚本添加为javascript即可。我知道ionic还没有使用angular cli,但他们应该有一种添加脚本的方法。对于angular cli项目,您可以执行以下操作: 将lib添加到angular-cli.

我正在尝试将OpenPgp导入到一个用Angular 2和TypeScript编写的Ionic 2应用程序中

但是,TypeScript将类型作为模块而不是模块导入。OpenPgp是用AMD、ES6模块支持编写的,我尝试过的所有东西都不起作用

除了JS中的加密之外,我如何使其工作


您只需将脚本添加为javascript即可。我知道ionic还没有使用angular cli,但他们应该有一种添加脚本的方法。对于angular cli项目,您可以执行以下操作:

将lib添加到angular-cli.json

  "scripts": [
    .....
    "../node_modules/openpgp/dist/openpgp.js"
  ],
添加虚拟声明以使TS满意:

 declare var openpgp: any;

您只需将脚本添加为javascript即可。我知道ionic还没有使用angular cli,但他们应该有一种添加脚本的方法。对于angular cli项目,您可以执行以下操作:

将lib添加到angular-cli.json

  "scripts": [
    .....
    "../node_modules/openpgp/dist/openpgp.js"
  ],
添加虚拟声明以使TS满意:

 declare var openpgp: any;

此注释给出了答案,需要在index.html中添加openpgp库


window.openpgp.initWorker({path:'/assets/scripts/openpgp.worker.min.js'});

此评论有答案,需要在index.html中添加openpgp库


window.openpgp.initWorker({path:'/assets/scripts/openpgp.worker.min.js'});

谢谢朱莉娅!我尝试了一下,但没有angular-cli.json,我也尝试了package.json,没有成功:(谢谢Julia!我尝试了一下,但没有angular-cli.json,我也尝试了package.json,没有成功:(