Поскольку у меня есть два разных URL, таких как https://example.com и https://example.com/dev для таких сред, как производство и разработка.
Я прочитал статью в качестве ссылки по ссылке https://www.jvandemo.com/how-to-configure-your-angularjs-application-using-environment-variables/.В этом файле env.js
sugessted, в котором мой код выглядит следующим образом:
var locUrl = window.location.href
var apiUrlstr;
if(locUrl.includes('/dev')){
console.log("in locurl if");
apiUrlstr = window.location.origin +"/dev"
}
else{
console.log("in locurl else");
console.log("window.location.origin"+window.location.origin);
apiUrlstr = window.location.origin;
}
window.__env = window.__env || {};
console.log("apiUrlstr "+apiUrlstr);
// API url
window.__env.apiUrl = apiUrlstr;
// Base url
window.__env.baseUrl = '/';
// Whether or not to enable debug mode
// Setting this to false will disable console output
window.__env.enableDebug = true;
}(this));
, затем все остальное, что я сделал, как показано в приведенной выше ссылке.Он отлично работает с url: https://example.com
, но не с https://example.com/dev
.
Я применил env variable
с другим подходом, использующим grunt
.И я обнаружил, что что-то не так с ними обоими.Я указал путь к моим js-файлам, таким как: <script src="js/config.js"></script>
<script src="js/app.js"></script>
и т. Д., И когда я сделал вызов API с помощью URL "https://example.com/dev"
, был сделан вызов с файлом js
как "https://example.com/js/config.js"
, а не "https://example.com/dev/js/config.js"
(что требуется).