我有一个node.js服务器文件,它可以加载我的网站并运行javascript而不会出现任何问题。我已经将tpb = require('thepiratebay');
添加到我的server.js文件中,它与服务器文件中的以下示例配合良好:
tpb.search('Game of Thrones', {
category: '205'
}).then(function(results){
console.log(results);
}).catch(function(err){
console.log(err);
});
我尝试在我的html页面中使用相同的代码。在控制台中,我得到了:
"Uncaught ReferenceError: require is not defined"
因此,我尝试使用browserify
模块,将一个简单的文件与.中的var tpb = require('thepiratebay');
捆绑在一起
然后我调用了html文件中的bundle.js文件。
<script type="text/javascript" src="bundle.js"></script>
但当我尝试使用示例代码tpb.search('Game of Throne...etc
时,我会得到
"Uncaught ReferenceError: tpb is not defined"
有可能浏览盗版软件吗?如果有,为什么它不能识别我的html代码中的tpb.search...etc
?
在您的服务器端代码中放入tpb.search,并在浏览之前将其附加到按钮的onclick事件。
Browserify通过使用闭包来创建作用域。tbp库及其搜索功能无法从全局范围访问,而全局范围正是客户端代码试图调用它的地方。