heroku node.js教程-将环境变量发送到其他js页面

克罗斯

所以我正在做heroku页面上的入门”。

通过克隆他们的教程存储库,我决定将自己的文件index.htmlapp.js文件添加/public他们已经为我创建文件夹中。

目录看起来像这样:

node-getting-started repo folder
| node_modules folder
| public folder
| | app.js
| | index.html
| index.js
| package.json
| Procfile

package.jsonmain点,index.js它是这样的:

index.js

var express = require('express');
var app = express();

app.set('port', (process.env.PORT || 5000));
app.use(express.static(__dirname + '/public'));

app.get('/', function(request, response) {
    var obj = { ... };
    var secret_key = process.env.SECRET_KEY;
    // what should i do here to send the variables above to my app.js file?
    // response.send(secret_key) ???
});

app.listen(app.get('port'), function() {
  console.log('Node app is running on port', app.get('port'));
});

在这一点上,我想要做的是发送objindex.js到我的app.js文件,这样我就可以使用它。

这是解决这个问题的正确方法吗?是否有其他方法(正确吗?)将其发送到其他文件?

我想基本上要做环境变量,如设置同样的事情var secret_key = process.env.SECRET_KEYindex.js它发送到app.js这样我可以有也使用它。

有人可以向我解释我该怎么做吗?

bmagnantb

假设您希望对用户隐藏SECRET_KEY,则无法将其发送给客户端。在这种情况下,您需要将需要密钥的功能移至服务器。

对于需要密钥的API请求,请将客户端请求发送到您的服务器,服务器将使用密钥向API发出请求。您将要修改app.get路线:

// '/api-request' will be the URI that the client uses
// the callback will handle what the server does when it receives a request with this URI
app.get('/api-request', function(req, res){

  request('API_URL' + process.env.SECRET_KEY, function(err, data) {

    // send error to the client -- res.send exits the function and ends the request
    if (err) res.send(err)

    // send data to the client
    res.send(data)
  })
})

您的服务器将充当API的中间人,使您的密钥不暴露并包含在服务器中。

在客户端上,请求将接收服务器通过res.send发送回的任何数据。客户不知道有中间人参与其中。

// the browser is smart and knows that a leading / refers to the current domain
request('/api-request', function(err, data) {
  if (err) // handle error

  // do stuff with the data
  console.log(data)
})

需要键的其他操作可以类似的方式处理。您的服务器需要一条路由,客户端将向该路由发送包含任何相关信息的请求,并且服务器将发送任何结果数据。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Node.js将变量发送到EJS页面

来自分类Dev

尝试将我的node.js连接到Heroku PostgreSQL数据库。遵循Heroku Postgres教程

来自分类Dev

Node.js和Heroku

来自分类Dev

Node JS、Redis 和 Heroku

来自分类Dev

如何将数据从Heroku上托管的Node.js应用程序发送到完全独立(Cpanel)服务器上托管的PHP文件?

来自分类Dev

带有Node Js的Heroku调度程序

来自分类Dev

Heroku上的Nginx + Node.js

来自分类Dev

在Heroku上部署Node.js应用

来自分类Dev

Heroku子弹尺寸太大-Node.js

来自分类Dev

无法将我的node.js应用推送到Heroku

来自分类Dev

Heroku + Node.js如何克隆node_modules?

来自分类Dev

Node.js环境检测无法运行Heroku

来自分类Dev

使用node.js将参数发送到API

来自分类Dev

将文件从Angular发送到Node.js

来自分类Dev

将数据从JavaScript发送到node.js

来自分类Dev

将edittextfield的数据从Android发送到node.js

来自分类Dev

将参数从玉发送到js / node

来自分类Dev

无法将参数发送到函数 Node.js

来自分类Dev

在heroku上使用node.js自动添加页面?

来自分类Dev

Node.js教程Web服务器无响应

来自分类Dev

Node.js教程,Http Server处理错误

来自分类Dev

将ffmpeg添加到heroku buildback node.js

来自分类Dev

将Node js应用程序部署到Heroku

来自分类Dev

将Heroku从php切换到Node js

来自分类Dev

将RoR推送到heroku RoR教程

来自分类Dev

将RoR推送到heroku RoR教程

来自分类Dev

在node.js中使用Heroku插件mongolab

来自分类Dev

在Heroku上设置Node.js服务器的端口

来自分类Dev

为什么Heroku无法检测到Node.js buildpack?