我有一个节点应用程序在/public
和一个rest api中托管一个自包含的前端应用程序。前端应用程序仅通过REST与后端进行通信,但现在我需要发送一些关于初始应用程序负载的基本配置信息。
我不想在页面加载时发出ajax请求,而是在请求/index.html
时发送所需的配置信息,因为应用程序必须运行。
设置一些基本配置的最简单方法是什么?
有没有办法可以通过节点提供一些脚本,然后从服务器参数化它?
喜欢的东西
/scripts/config.js
angular.constant('value1', '#{some parameterized server value}');
我正在使用快递。
答案 0 :(得分:2)
您只需添加提供配置的路由即可。 像。的东西。
app.get('/scripts/config.js', function(req, res) {
var content = 'angular.module(\'config\', [])\n';
content += ' .constant(\'value1\', ' + someValue + ')';
res.set('Content-Type', 'text/javascript');
return res.send(content);
}
答案 1 :(得分:1)
在不发出Ajax请求的情况下执行此操作的唯一方法是在index.html中包含config.json文件您可以让节点读取/写入此文件的配置属性。
Angular中的执行顺序是:
app.config()
app.run()
app.controller
您可以将您的kickstarting逻辑放在app.config()
或app.run()
。
我相信,最佳做法是将模块中的配置逻辑分开,并使用$ http动态获取属性。