首页 > 解决方案 > 将 browserify 与 node 模块一起使用时出现问题

问题描述

我想将 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 中的函数?

标签: node.jsnpmbrowserify

解决方案


将您的函数导出到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 的屏幕截图。

在此处输入图像描述


推荐阅读