1
我正在使用ReactJs作爲前端和Spring引導作爲後端的項目。我想從後端將一些環境變量傳遞給ReactJS應用程序。我的想法如下:Thymeleaf與Reactjs的衝突Build
1)使用create-react-app生成存根ReactJs應用程序。在公共index.html文件,定義一個定製的標籤
<body>
<script th:inline="javascript">
/*<![CDATA[*/
var env = [[${env}]];
/*]]>*/
</script>
...
<div id="root"></div>
</body>
2)運行npm run build
產生
3)複製生成的代碼從構建目錄前端代碼爲「資源/模板」目錄
4)在後端的控制器,設置環境值
@GetMapping(value = "/")
public String messages(Model model) {
model.addAttribute("env", System.getenv("env");
return "index";
}
但我失敗了,在步驟2中,試圖建立與故宮的時候,我得到了一個錯誤消息
Template execution failed: ReferenceError: env is not defined
有什麼辦法可以解決這個問題,或者我需要採取另一種方法?
感謝您的建議,我嘗試了新的語法,但得到了相同的結果。 –
屬性值「env」僅在運行時纔會在編譯時填充。您可能需要默認值或傳遞系統變量作爲npm參數 –