【问题标题】:Issue while using browserify with node module将 browserify 与 node 模块一起使用时出现问题
【发布时间】:2021-06-18 06:53:17
【问题描述】:

我想将 pbkdf2 npm 库包含到我的 JS/html 页面中,这些页面只是纯 Javascript,节点不可用。

browserify 应该让我在那里。我编写了一个简短的 JS 文件 (main.js),它使用了该功能。

var callback = function (err, key) {
    console.log(key);
}


function hashIt(hac, callback)  {
    pbkdf2.pbkdf2(hac, hac, 10000, 32, 'sha256', callback);
    
}

我使用 browserify 把它变成一个“可包含”的 JS 文件

browserify main.js -o bundle.js

bundle.js 文件看起来不错,就像 browserify 发挥了它的魔力一样。

我在我的 HTML 页面中包含了 bundle.js 文件,但是我无法访问 hashIt 函数。有没有一种特殊的方法来包含或调用 bundle.js 中的函数?

【问题讨论】:

  • 您是否有理由不使用内置功能通过crypto.subtle在浏览器中进行散列?
  • 我使用的是旧的 ExtJs 框架,它不知道如何处理“Promises”。

标签: node.js npm browserify


【解决方案1】:

window 对象上导出您的函数。

var callback = function (err, key) {
    console.log(key);
}


function hashIt(hac, callback)  {
    pbkdf2.pbkdf2(hac, hac, 10000, 32, 'sha256', callback);   
}

window.hashIt = hashIt;

在浏览器中。

hashIt('test', (err, key) => console.log(key.toString()))
> ��&�`=�&
0q$.��bp�u��<!x���GV�;

来自 Chrome 的屏幕截图。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-29
    • 2011-03-15
    • 2011-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-15
    相关资源
    最近更新 更多