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