我正在尝试将yelp集成到我的web应用程序中。我希望用户能够向yelp服务器发出请求,而无需通过我的服务器并添加额外的数据传输。。
我怎样才能要求叫唤yelp.CreateClient和requireJS?还是我走错路了?
设置:-lib
-node_modules
-公开-public脚本-文件
-公共-yelp脚本-yelp库
-routes
-views
app.ks
package.json
我正在跟踪这个演示。守则:
var yelp = require("../index").createClient({
consumer_key: process.env.CONSUMER_KEY,
consumer_secret: process.env.CONSUMER_SECRET,
token: process.env.TOKEN,
token_secret: process.env.TOKEN_SECRET,
ssl: true
});
yelp.search({term: "food", location: "Montreal"}, function(error, data) {
console.log(error);
console.log(data);
});
据我所知,我不能在客户端以正常的方式使用要求。因此,我需要使用RequireJS库。
这是我的代码:
var yelp = require(["javascripts/yelp/index"] , function(inp){
yelp.createClient({//second error
consumer_key: "key",
consumer_secret: "secret",
token: "token",
token_secret: "token_secret",
ssl: true
});
});
var yresponse = yelp.search({term: "food", location: "Montreal"}, function(error, data) {//first error is here
console.log(error);
console.log(data);
});
以下是错误:未定义的TypeError:未定义的不是函数coursecreation.js:12
未定义ReferenceError:模块未定义为index.js:1
//此引用错误与yelp库中的index.js文件有关,
module.exports = require('./lib/yelp');
未定义的TypeError:未定义不是函数coursecreation.js:2
发布于 2014-04-16 22:47:01
我看了一下您正在尝试使用的yelp库。它是与Node.js一起使用的。通常,您不能只使用为Node.js创建的库并用RequireJS加载它。在最好的情况下,您可以通过用Node.js调用包装代码,将为RequireJS创建的代码库转换为RequireJS使用的代码库。
不幸的是,最好的情况场景并不适用于这里,因为节点-yelp实际上使用了一些特定于Node.js的库(例如,查询串),并且它调用了节点-oauth,它本身使用了特定于Node.js的库(例如,加密)。为了能够在RequireJS中使用节点-yelp,您必须修改节点-yelp,或者节点- with,这样才能在没有特定于Node.js的库的情况下进行操作。这是一项重大任务。
请注意,可以设计用于RequireJS的库,并在Node.js中使用。(我做到了。)只是那个节点-yelp不是这样设计的。
https://stackoverflow.com/questions/23119874
复制相似问题