【发布时间】:2016-08-21 18:12:17
【问题描述】:
我正在使用 node.js 运行谷歌计算引擎但我正在使用 codeanywhere 进行测试。我可以在 codeanywhere 终端上运行 bigquery 请求,并将结果显示在终端控制台上。
但是当我尝试从 html 页面执行相同操作时,我无法将结果返回给用户/浏览器。
我在 codeanywhere 上安装的唯一节点模块是 firebase 和 googleapis。
我希望在服务器端运行 bigquery 调用,因为我想隐藏身份验证信息;否则只会从 javascript 运行 bigquery api。
我的 test.js 是:
'use strict';
var google = require('XXX/lib/googleapis');
var bigquery = google.bigquery('v2');
var authClient = new google.auth.JWT(
'XXX@XXX.iam.gserviceaccount.com',
'XXX.pem',
null, ['https://www.googleapis.com/auth/bigquery']);
var request = {
projectId: 'XXX',
//all: true,
auth: authClient
};
var list = bigquery.datasets.list(request, function(err, result) {
if (err) {
console.log(err);
} else {
console.log(result);
return result;
}
});
我的 html 是:
<!DOCTYPE html>
<html lang = "en">
<head>
<title>Testing Server Call </title>
<script type = "text/javascript" src = "//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" ></script>
<script type = "text/javascript" >
$(function() {
$.ajax({
type: 'GET',
url: 'test.js'
success: function(data) {
console.log('yay');
console.log(data);
},
error: function(xhr, status, error) {
console.log('Error: ' + error.message);
}
});
});
</script>
</head>
<body>
hi there
</body>
</html>
我已经搜索和测试了过去几天,但不知道我缺少什么。我不断收到错误消息,例如:Error: require is not defined,而且我找不到任何教程来帮助我完成完成此任务的步骤。提前感谢您的帮助。
【问题讨论】:
-
你可以尝试在“use strict”之前保留require语句吗?
-
谢谢。试过了,还是报错'require is not defined'
-
@jm93 您是否在浏览器或节点控制台中遇到 require 错误?
-
@owaishanif786 节点控制台工作正常,浏览器出错,谢谢
-
require 永远不会在浏览器中工作。所以你必须使用 node.js 控制台。要运行它以在浏览器中使用 require ,您必须使用 browserify.org 或 webpack。
标签: javascript node.js google-bigquery google-compute-engine