【发布时间】:2020-10-12 16:09:48
【问题描述】:
这是我的第一个 javascript 项目(也是十年后的第一个编程项目),所以放轻松。
我正在使用 VueJS 并使用 nodejs 的模块形式。现在,我需要向 nodejs 模块添加一些功能。我将相关文件复制到我的项目中。但是,这些文件的语法与我的代码不同(它使用 'use strict; 和 require 而我的代码使用导出/导入。
有问题的代码如下所示:
'use strict';
var SSH = module.exports;
var Enc = require('./encoding.js');
SSH.parse = function (opts) {
var pub = opts.pub || opts;
var ssh = SSH.parseBlock(pub);
ssh = SSH.parseElements(ssh);
//delete ssh.bytes;
return SSH.parsePublicKey(ssh);
};
/*global Promise*/
SSH.fingerprint = function (opts) {
var ssh;
if (opts.bytes) {
ssh = opts;
} else {
ssh = SSH.parseBlock(opts.pub);
}
// for browser compat
return Promise.resolve().then(function () {
return 'SHA256:' + require('crypto').createHash('sha256')
.update(ssh.bytes).digest('base64').replace(/=+$/g, '');
});
};
...
...
我怎样才能把这段代码翻译成 ES6 风格。我可以在哪里导入它并拨打SSH.fingerprint(publickey)之类的电话。
【问题讨论】:
-
指纹是一种反模式。它通过同步操作强制执行承诺,这要求调用者异步使用 SSH.fingerprint(publickey)。
标签: javascript vue.js ecmascript-6