[英]How to use jQuery with webpack-encore in a Symfony project?
[英]Version control strategy for webpack-encore project
我正在學習使用webpack-encore,並且注意到它僅作為dev
依賴項安裝。 這是否意味着我應該在開發時編譯我的js
和css
文件,並將它們推送到存儲庫,然后再推送到生產環境?
在我看來,這意味着文檔所隱含的含義,但這是否意味着合並沖突地獄? 編譯的文件將無法合並。
也不會違背版本控制原則嗎? 據我所知,您不會以編譯語言(即C / C ++)發布二進制文件,而是會推送代碼並期望服務器對其進行編譯。 我知道這與javascript中的“編譯”類型不同,但是在這種情況下生產服務器的預期行為是什么? 要接收准備服務的文件,還是在發布時進行編譯?
提前致謝
這是否意味着我應該在開發時編譯我的js和css文件,並將它們推送到存儲庫,然后再推送到生產環境?
不完全是-這取決於您的部署方式。
部署時,需要運行./node_modules/.bin/encore production
以構建資產。 完成此操作后, 僅需要將已構建的資產(例如web/build
)轉移到生產中。
您可以在本地(或在某些“構建”服務器上)運行此命令,並將所有文件傳輸到生產環境。 或者,您可以在生產環境中使用git pull
,然后在生產環境中運行此命令(不利之處是您需要在生產環境中安裝Node.js)。
您不需要/不需要將構建的文件提交到存儲庫。 但是...如果它簡化了您的部署(即您要進行git pull
並完成),則沒有任何實際問題。
我只是在FAQ( http://symfony.com/doc/current/frontend/encore/faq.html )中添加了PR來回答這些問題-這是部署之前的PR: https : //github.com/symfony/ symfony-docs / pull / 8109
干杯!
解決方案1:
yarn run encore production
解決方案2:
yarn run encore production
在我看來,第二種解決方案更好,因為在部署之前不需要額外的人工檢查,一切都是自動化的。 但這有一個很大的缺點:資產的建立過程可能很慢,而當我部署時,在資產建立之前,我的生產會在5到20秒內停機。
這是HTTP 500錯誤:
呈現模板期間引發了異常(“資產清單文件“ [...] / web / build / manifest.json”不存在。”)。
看起來manifest.json
文件在該過程的開始被刪除,並在以后從頭開始創建。
有什么需要改進的地方嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.