原始例外:未定义加密

时间:2016-12-29 15:05:38

标签: ionic2

我正在使用Ionic 2 rc3。我试图在其中一个组件中导入/包含一个js文件。

ts档

// declare var require: any
'use strict';
// var Encrypt = require('pages/service/jsencrypt.min');
declare var Encrypt: any;
...
this.encrypter = new Encrypt.JSEncrypt();

的index.html

<script src="pages/service/jsencrypt.min.js"></script>

在我使用Ionic 2 beta之前,当我在index.html中没有任何内容并且在ts文件的顶部有var Encrypt = require('pages/service/jsencrypt.min');时,它工作得很好。自升级到rc3后,我似乎无法导入/包含js文件。

更新

jsencrypt.js文件中,它包含以下代码:

var JSEncrypt = function (options) {
    options = options || {};
    this.default_key_size = parseInt(options.default_key_size) || 1024;
    this.default_public_exponent = options.default_public_exponent || '010001'; //65537 default openssl public exponent for rsa key type
    this.log = options.log || false;
    // The private and public key.
    this.key = null;
};

在我的ts文件中,我需要处理JSEncrypt。我曾经在beta

中执行以下操作
this.encrypter = new Encrypt.JSEncrypt();

如果我尝试以下方法:

this.encrypter = this.JSEncrypt();

我在CLI中收到此错误:

Property 'JSEncrypt' does not exist on type 'PersonService'.

如何处理JSEncrypt

由于

1 个答案:

答案 0 :(得分:1)

我做了以下步骤,对我而言,它的工作完全正常。

  1. 使用bucket.search_function(prefix="string")
  2. 创建新的离子项目
  3. ionic start MyIonic2Project tutorial --v2 --ts并使用以下代码创建了cd MyIonic2Project/src/assets文件:

    var Test =(function(){     function Test(){

    test.js

    }());

  4. 然后我编辑了} Test.prototype.showAlert = function () { alert("Yeee....I am called"); }; return Test; 并在脚本标记中添加了“assets / test.js”
  5. 然后我打开 app.componemt.ts 文件,并在类别错误上方声明名为测试的变量: 声明var测试:任何;
  6. 然后在构造函数中,我编写了以下代码:

    让testVariable = new Test();

    testVariable.showAlert();

  7. 我使用MyIonic2Project/src/index.html命令运行代码,我能够看到警报。

  8. 确保您按照类似的步骤进行操作。还要确保您使用的js库是正确的。