Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌云功能::不能使用';要求';声明_Javascript_Require_Google Cloud Functions_Package.json - Fatal编程技术网

Javascript 谷歌云功能::不能使用';要求';声明

Javascript 谷歌云功能::不能使用';要求';声明,javascript,require,google-cloud-functions,package.json,Javascript,Require,Google Cloud Functions,Package.json,问题 当我在google云函数中包含任何“require”语句时,我会收到警告:“函数处于活动状态,但上次部署失败” 解决方案? 我非常确定我需要在package.json文件中包含依赖项,但我不知道要包含哪些依赖项,或者如何编写这些依赖项 背景 我已经用Java构建了一个android应用程序,我正在尝试集成条带支付。Stripe要求我有一台服务器来处理请求,但我正在尝试使用google云功能(因此我不必支付/管理服务器) 我试着效仿,但不起作用。作者没有包含package.json文件,我不

问题

当我在google云函数中包含任何“require”语句时,我会收到警告:“函数处于活动状态,但上次部署失败”

解决方案?

我非常确定我需要在package.json文件中包含依赖项,但我不知道要包含哪些依赖项,或者如何编写这些依赖项

背景

我已经用Java构建了一个android应用程序,我正在尝试集成条带支付。Stripe要求我有一台服务器来处理请求,但我正在尝试使用google云功能(因此我不必支付/管理服务器)

我试着效仿,但不起作用。作者没有包含package.json文件,我不确定应该在其中添加哪些依赖项。我以前从未编写过java脚本,我的背景是Python、C++、java。p> 我也看过谷歌的教程。我也搜索过S.O.但找不到解决方案。问题可能是我不是javascript开发人员。我正在尝试插入并播放其他人的代码,以使我的android(java)应用程序的一个特定部分正常工作

故障排除

为了排除故障,我使用了google提供的“helloWorld”示例。Hello World函数可以自行查找。如果我在顶部添加这三条require语句中的任何一条,就会得到警告:“函数处于活动状态,但上次部署失败”

代码

--index.js

var app = require('express')();
var http = require('http').Server(app);
var stripe = require('stripe')(
  "your_stripe_key"
);
var bodyParser = require('body-parser');

app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());

//initiate a one-off charge for a customer
exports.chargeCustomer = app.get(".../charge/:customerid/:token/:amount", function chargeCustomer (req,res){
  stripe.charges.create({
    customer: req.params.customerid,
    source: req.params.token,
    currency: 'usd',
    amount:req.params.amount
  },function(err, charge) {
    if(err) {
      return res.send(JSON.stringify(err));
    }
    res.send(JSON.stringify(charge));
  });
});
--package.json

{
  "name": "sample-http",
  "version": "0.0.1"
}
注释

如果你知道我做错了什么,请记住我从来没有写过javascript。我不认为我问了一个重复的问题,我已经搜索过了,但答案可能在另一个问题中,我只是不理解它,因为我从未编写过javascript。

是一个带有
包的示例。json
,文档中提到了它。我将举一个例子说明其内容:

{
  "nyc": {
    "exclude": [
      "build/src/apis",
      "build/test"
    ]
  },
  "license": "Apache-2.0",
  "dependencies": {
    "google-auth-library": "^1.1.0",
    "qs": "^6.5.1",
    "string-template": "1.0.0",
    "uuid": "^3.1.0"
  },
  ...
}

也考虑阅读<代码> NPM .js<代码> >代码>包。JSON 是通用的,不是云函数特定的。

是一个例子,代码< >包。JSON < /代码>,这是在文档中提到的。我将举一个例子说明其内容:

{
  "nyc": {
    "exclude": [
      "build/src/apis",
      "build/test"
    ]
  },
  "license": "Apache-2.0",
  "dependencies": {
    "google-auth-library": "^1.1.0",
    "qs": "^6.5.1",
    "string-template": "1.0.0",
    "uuid": "^3.1.0"
  },
  ...
}

也考虑阅读<代码> NPM .js<代码> >代码>包。JSON 是通用的,不是云函数特定的。

< p>我写了您在上面的问题中提到的RePO。问题是您没有正确格式化
package.json
文件

部署函数时,需要部署
索引
文件和相应的
包.json
。您可以通过命令行进行部署,也可以简单地使用CloudFunctions产品中的Google在线编辑器进行部署

package.json
文件指定代码需要运行的依赖项。基本上,索引文件需要知道
需要哪些第三方库才能实现其功能。在我的示例中,您会注意到下面的代码包含一个用于
“dependencies”
的小节点,它将告诉Google Cloud函数要随代码安装哪些软件包


您引用的特定
索引
文件正在通过条带创建费用。我在许多生产产品中使用了此代码的变体,
package.json
文件如下所示:

{
  "name": "createCharge",
  "version": "1.0.0",
  "description": "create and charge in Stripe",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "Your Name",
  "license": "ISC",
  "dependencies": {
    "express": "^4.14.0",
    "stripe": "^4.4.0",
    "body-parser": "~1.13.3",
    "async": "^2.0.1",
    "promise": "^7.1.1"
  },
  "engines": {
    "node": "4.1.1"
  },
  "repository": {
    "type": "git",
    "url": "<path/to/your/repo.git>"
  }
}
{
“名称”:“createCharge”,
“版本”:“1.0.0”,
“说明”:“创建并在条带中充电”,
“main”:“index.js”,
“脚本”:{
“测试”:“echo\”错误:未指定测试\“&退出1”
},
“关键词”:[],
“作者”:“您的姓名”,
“许可证”:“ISC”,
“依赖项”:{
“express”:“^4.14.0”,
“条纹”:“^4.4.0”,
“正文分析器”:“~1.13.3”,
“异步”:“^2.0.1”,
“承诺”:“^7.1.1”
},
“发动机”:{
“节点”:“4.1.1”
},
“存储库”:{
“类型”:“git”,
“url”:”
}
}
另外,请注意,上面javascript的
“repository”
块不是必需的,因此如果您没有这个特定函数的托管repo,可以随意删除它


希望这有帮助

我写了你在上面的问题中提到的回购协议。问题是您没有正确格式化
package.json
文件

部署函数时,需要部署
索引
文件和相应的
包.json
。您可以通过命令行进行部署,也可以简单地使用CloudFunctions产品中的Google在线编辑器进行部署

package.json
文件指定代码需要运行的依赖项。基本上,索引文件需要知道
需要哪些第三方库才能实现其功能。在我的示例中,您会注意到下面的代码包含一个用于
“dependencies”
的小节点,它将告诉Google Cloud函数要随代码安装哪些软件包


您引用的特定
索引
文件正在通过条带创建费用。我在许多生产产品中使用了此代码的变体,
package.json
文件如下所示:

{
  "name": "createCharge",
  "version": "1.0.0",
  "description": "create and charge in Stripe",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "Your Name",
  "license": "ISC",
  "dependencies": {
    "express": "^4.14.0",
    "stripe": "^4.4.0",
    "body-parser": "~1.13.3",
    "async": "^2.0.1",
    "promise": "^7.1.1"
  },
  "engines": {
    "node": "4.1.1"
  },
  "repository": {
    "type": "git",
    "url": "<path/to/your/repo.git>"
  }
}
{
“名称”:“createCharge”,
“版本”:“1.0.0”,
“说明”:“创建并在条带中充电”,
“main”:“index.js”,
“脚本”:{
“测试”:“echo\”错误:未指定测试\“&退出1”
},
“关键词”:[],
“作者”:“您的姓名”,
“许可证”:“ISC”,
“依赖项”:{
“express”:“^4.14.0”,
“条纹”:“^4.4.0”,
“正文分析器”:“~1.13.3”,
“异步”:“^2.0.1”,
“承诺”:“^7.1.1”
},
“发动机”:{
“节点”:“4.1.1”
},
“存储库”:{
“类型”:“git”,
“url”:”
}
}
另外,请注意,上面javascript的
“repository”
块不是必需的,因此如果您没有这个特定函数的托管repo,可以随意删除它


希望这有帮助

所有必需的模块是否都可用于索引