sta*_*416 6 javascript flux reactjs webpack isomorphic-javascript
我已经在这个回购中基于入门套件松散地构建了一个同构的React应用程序.它使用webpack来构建生产代码.
事实上,我需要将服务器上的一些环境变量的值暴露给浏览器中的客户端代码,而无需重建生产代码.我希望能够更改env变量的值,并让它在下一页刷新客户端的效果,而不必重建任何东西.我不想让测试复杂化.
我找到了一些解决方案,其中没有一个很好:
这些方法的问题:
我过去做过2和3,从来没有真正满足这些解决方案.
有什么建议?这似乎应该是一个常见/解决的问题.也许我只是在思考它,3是要走的路.
所以我想出的解决方案相当简单。我只是编写了一行 JavaScript 将值保存到脚本标记内的本地存储中。然后在应用程序启动时从我的通量存储中读取本地存储。
这是添加到index.html的相关标签:
<script type="text/javascript"><%= config %></script>
Run Code Online (Sandbox Code Playgroud)
这是我在提供服务之前使用模板将其拼接到 index.html 中的字符串:
let configJs = 'localStorage.setItem(\'ADMIN_API\', JSON.stringify(\'' + process.env.ADMIN_API + '/v3/' + '\'));';
const html = template({config: configJs});
res.status(200).send(html);
Run Code Online (Sandbox Code Playgroud)
然后,应用程序启动后,我就用这个来阅读它:
import ls from 'local-storage';
....
let api = ls.get('ADMIN_API');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
862 次 |
| 最近记录: |