Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.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 如何将app.js文件中的值传递到节点js中的客户端文件?_Javascript_Node.js_Express - Fatal编程技术网

Javascript 如何将app.js文件中的值传递到节点js中的客户端文件?

Javascript 如何将app.js文件中的值传递到节点js中的客户端文件?,javascript,node.js,express,Javascript,Node.js,Express,在这里,我有一个疑问,如何将节点js app.js文件中的值传递给客户端js文件 这里是我的app.js文件 var express = require('express'); var app = express(); var port = process.env.PORT || 3000; var bodyParser = require('body-parser'); var facebookAppId = '

在这里,我有一个疑问,如何将节点js app.js文件中的值传递给客户端js文件

这里是我的app.js文件

var express  = require('express');
var app      = express();                               
var port     = process.env.PORT || 3000;
var bodyParser = require('body-parser');
var facebookAppId = '123456789023'


app.configure(function() {
app.use(express.static(__dirname + '/dist'));   
app.use(express.logger('dev')); 
app.use( bodyParser.json() );  
app.use( bodyParser.urlencoded() );     
app.use(express.methodOverride());  
    });
app.listen(port);

在我的dist文件夹中有index.html。当我启动app.js时,它最初是用来启动运行的。因此,我想在客户端使用facebookAppId。我如何才能做到这一点?

将它放在共享文件夹下它自己的json文件中,然后您可以在节点中这样要求它:

共享/facebookInfo.json

app.js

在客户端,通过jquery或$http将其与ajax结合使用,无论您使用什么

另一种方法是不将文件放在共享的挂载文件夹下,而是在前端构建过程中包含它。 通过这种方式,您无需执行额外的请求就可以进入前端,而且它包含的内容更加含蓄

这可能是最流行的插件:


假设您的前端和后端处于同一回购协议中,这在一定程度上是不正确的。如果它们位于不同的回购协议中,您也必须将共享数据置于单独的回购协议中,但这是一个完全不同的问题。

如果我喜欢,该用户可以在客户端看到facebookinfo.json文件。我不喜欢赤裸裸地显示我的facebook id。将其作为呈现值传递或添加到局部变量不是更容易吗?是的,用户可以在客户端上看到facebookinfo.json。事实上,用户将能够访问您放在/shared文件夹下的任何内容。因此,您甚至可以将.js文件放在那里并共享them@BenFortune对于1个变量来说,一个单独的文件确实可能有些过分,但共享挂载在将来可能会很有用,而且它是一种明确的共享方式。@chan您的facebook应用程序id不是敏感信息,如果在客户端上需要它,只需公开它即可。用户在通过facebook自己登录到appid后,无论如何都可以获得你的appid。
{
    "facebookAppId" : 123456789023
}
var facebookAppId = require('./shared/facebookInfo').facebookAppId;

...
// make sure to mount the directory as well so you can access it from the front end:
// it's being mapped to /shared here
app.use('/shared', express.static(__dirname + '/shared')); 
...