原始异常:未定义加密
2016-12-29
2715
我正在使用
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个回答
我执行了以下步骤,对我来说,它完全正常工作。
-
使用
ionic start MyIonic2Project tutorial --v2 --ts
创建新的 Ionic 项目 -
cd MyIonic2Project/src/assets
并创建一个包含以下代码的test.js
文件:var Test = (function () { function Test() {
} Test.prototype.showAlert = function () { alert("Yeee....I am called"); }; return Test;
}());
-
然后我编辑了
MyIonic2Project/src/index.html
并在脚本标记中添加了“assets/test.js” - 然后我打开 app.componemt.ts 文件并声明类定义上方的名为 Test 的变量: declare var Test:any;
-
然后在构造函数中,我编写了以下代码:
let testVariable = new Test();
testVariable.showAlert();
-
我使用
ionic serve
命令运行代码,并且能够看到警报。
确保您遵循了类似的步骤以使其正常工作。还要确保您使用的 js 库是正确的。
Prerak Tiwari
2016-12-29