我正在启动一个AngularJS应用程序,我需要在生产模式下使用绝对路径调用我的静态文件,并在开发中使用相对路径。
例如,如果我需要访问JS静态文件夹,在生产中我需要调用:https://statics.domain.com/js并且在开发中我将有一个常规的assets/js
文件夹。
对此有最佳方法吗?
谢谢!
编辑:重要提示是此应用与后端分开。
答案 0 :(得分:2)
您可以使用基本标记(https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base)为所有相对网址设置基本路径。
所以你可以在开发中将基础href更改为生产中的static.domain.com。
然而,基本标签有点模糊,我不推荐它用于认真的工作。
其他想法:
您是否可以使用您的hosts文件将static.testdomain.com重定向到您的本地环境。
您是否可以使用环境变量或其他配置设置来更改javascript引用。
答案 1 :(得分:0)
最好的方法是让您的服务器根据环境(生产与开发)提供不同的index.html文件。如果您现在不使用服务器,可以考虑使用轻量级NodeJS服务器。
你甚至可以使用模板引擎(ex Express + Jade)并在环境中以不同的方式构建相同的index.html文件。