这里我有一个疑问,我如何将值从节点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。我怎么能这样做?
答案 0 :(得分:0)
将它放在共享文件夹下的自己的json文件中,然后你可以在节点中这样需要它:
<强>共享/ facebookInfo.json 强>
{
"facebookAppId" : 123456789023
}
<强> app.js 强>
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'));
...
在客户端包含ajax槽jquery或$ http,无论你使用什么。
另一种方法可能是不将文件放在共享的已安装文件夹下,但在前端构建过程中包含它。
通过这种方式,您无需另外请求进入您的前端,并且包含更多内容。
这可能是最受欢迎的插件:
https://github.com/gruntjs/grunt-contrib-concat
这有点假设您的前端和后端处于同一个回购中。如果他们使用不同的仓库,您也必须将您的共享数据放在一个单独的仓库中,但这是一个完全不同的问题。