5
A
回答
0
为什么不只是加载一个不同的脚本?您可以基于GET参数动态地创建脚本,例如http://example.org/script.js?development=1,然后使用服务器端语言(如PHP)更改基于该参数的代码内容。
您还可以在您的Web服务器上使用重写规则,使其看起来更清晰。
-1
如果我理解正确的,试试这个:
if (window.location.protocol === 'file:') {
// Development environment
}
else {
// Production environment
};
+0
如果你在本地主机上工作,这将不会工作 – borisdiakur 2014-08-07 12:33:22
4
的一种方法是从服务器的环境变量注入到客户端上的全局命名空间。
例如,如果你在PHP这样做:
<script>
var env = <?php echo $your_env_variable; ?>; // globally accessible variable
</script>
现在你可以从是脚本标签后执行的任何JavaScript文件访问环境变量。
在节点,你会做同样的事情,但与模板(如翡翠):
script(type='text/javascript').
var env = passedInEnvVar
1
在对的NodeJS“官方”的方式来指定环境使用“NODE_ENV”。由于您没有提到您用于提供HTML内容的框架,因此我将使用expressjs作为我的答案。
你可以简单地做这在您的视图模板(我使用EJS)
var key = '<%= keys[process.env.NODE_ENV] %>'
您需要准备一组对应于每个环境
var keys = {
'development': 'dev-key',
'production': 'prod-key'
}
相关问题
- 1. WebPack:访问客户端代码中的节点环境变量
- 2. 代客环境变量
- 3. 如何使用环境变量从Java代码设置文件?
- 4. LESS - 在客户端设置变量
- 5. 在泊坞窗创建运行bash的客户端设置环境变量
- 6. 如何将Node.js环境变量注入客户端JavaScript?
- 7. RabbitMQ如何设置生产者和客户端环境?
- 8. 如何在代码中使用wsDualHttpBinding设置WCF客户端?
- 9. 如何设置vsvars32环境变量?
- 10. 如何设置黄瓜环境变量
- 11. 如何为python设置环境变量
- 12. 如何设置CGBITMAP_CONTEXT_LOG_ERRORS环境变量?
- 13. 如何设置TERM环境变量
- 14. 如何永久设置环境变量?
- 15. 如何为Jython设置环境变量?
- 16. 如何永久设置环境变量?
- 17. 我如何设置grails环境变量?
- 18. 设置环境变量
- 19. 设置Maven环境变量
- 20. 设置环境变量
- 21. 设置环境变量
- 22. Elasticsearch设置环境变量
- 23. C#设置环境变量
- 24. htaccess设置环境变量
- 25. 设置apache环境变量
- 26. DrJava设置环境变量
- 27. 在Python中设置环境变量
- 28. 在javascript中设置环境变量
- 29. 在JavaScript中设置环境变量
- 30. 在Maven中设置环境变量
键你有没有使用考虑构建脚本?当你最小化你的代码时,你也将变量值从开发交换到生产。 – 2012-07-30 10:43:59
通过“没有固有的运行时环境”,你是否也意味着它可能在解释器shell中执行而不是在网站上部署? – bchurchill 2012-07-30 11:25:33
@ChristoferEliasson我认为这可能是最好的路线,谢谢你的建议。 – fancy 2012-07-30 11:47:59