如何将配置从 ExpressJS 发送到 Aurelia
How to send configuration from ExpressJS to Aurelia
我正在基于 https://github.com/Vheissu/aurelia-starter-node 构建一个网站。它将在 /api 区域中有一些后端逻辑,并且还将有一个由 Aurelia 处理的 SPA 区域。我愿意:
- 使用
require('config')
在 Express 应用程序 (https://www.npmjs.com/package/config) 中读取配置
- 在服务器上使用此配置(通常的东西)
- 在客户端(在 Aurelia 应用程序中)使用此配置的子集
我知道 https://github.com/Vheissu/Aurelia-Configuration 但我不想维护两个由不同库处理的配置集,处理在两个地方设置环境等
问题:有没有一种干净的方法可以完成我正在寻找的事情?
到目前为止我的想法:
- 将一些东西传递给 aurelia 引导逻辑,但我找不到任何关于此的信息
- 丑陋的解决方案:将配置作为全局变量渲染到 index.html(SPA 的母版页)并从 Aurelia 代码中读取它,更不像
我最终将配置保留在服务器代码中,并仅将其客户端部分呈现到页面主体,如下所示:
为我的应用定义 aurelia 路由时:
let model = {
clientConfig: {
x: 123
}
};
res.render('index.html', model);
然后在视图中(使用 ejs 模板):
<script>
var config = <%- JSON.stringify(clientConfig) %>;
</script>
对我来说,这比在两个地方维护配置要干净得多。
我正在基于 https://github.com/Vheissu/aurelia-starter-node 构建一个网站。它将在 /api 区域中有一些后端逻辑,并且还将有一个由 Aurelia 处理的 SPA 区域。我愿意:
- 使用
require('config')
在 Express 应用程序 (https://www.npmjs.com/package/config) 中读取配置
- 在服务器上使用此配置(通常的东西)
- 在客户端(在 Aurelia 应用程序中)使用此配置的子集
我知道 https://github.com/Vheissu/Aurelia-Configuration 但我不想维护两个由不同库处理的配置集,处理在两个地方设置环境等
问题:有没有一种干净的方法可以完成我正在寻找的事情?
到目前为止我的想法:
- 将一些东西传递给 aurelia 引导逻辑,但我找不到任何关于此的信息
- 丑陋的解决方案:将配置作为全局变量渲染到 index.html(SPA 的母版页)并从 Aurelia 代码中读取它,更不像
我最终将配置保留在服务器代码中,并仅将其客户端部分呈现到页面主体,如下所示:
为我的应用定义 aurelia 路由时:
let model = {
clientConfig: {
x: 123
}
};
res.render('index.html', model);
然后在视图中(使用 ejs 模板):
<script>
var config = <%- JSON.stringify(clientConfig) %>;
</script>
对我来说,这比在两个地方维护配置要干净得多。