2017-03-16 32 views
1

我正在使用Mix(這適用於Elixir以及我猜)來管理我的前端資產。我已將Mix配置爲在生產中版本文件,但不在開發中。因此,當我更新資產時,我在生產中更新了app.jsapp.css文件,並更新了app.{hash}.jsapp.{hash}.css文件。我如何使用laravel mix和git來管理前端資產?

如何在版本控制中利用此建議,您有什麼建議?

  1. 將文件放在版本控制?如果是的話,我如何管理開發過程中的不斷變化?繼續添加新的散列文件?我在生產服務器上保留app.js和app.css嗎?
  2. .gitignore在生產服務器上的JS和CSS文件,並運行NPM編譯本地資產?
  3. 其他一些解決方案?

你對這個想法?

在此先感謝。

回答

0

重寫應用程序。{}哈希與.js文件nginx的以app.js並添加其gitignore

+0

我的問題是不是在web服務器級它是如何管理本地文件與git。我的直覺告訴我編譯生產中的資產是一個壞主意,但是在編譯資產之後不得不刪除/添加新文件是一種皮塔餅。 –

4

在我的工作,我們已經.gitignore'd的CSS/JS文件夾了近一年的不同項目沒有問題只是讓服務器處理npm作爲其構建步驟的一部分。

如果你使用的紗線,它會創建保證你會得到生產完全相同的JS依賴一個鎖定文件。

當使用版本控制只是用你的腳本/ CSS標籤混合()幫手,它會處理指向通過公共目錄中的混合 - manifest.json檔案正確的文件。

例如:

佈局/ app.blade.php有

<script src="{{ mix('js/app.js') }}"></script>當您運行NPM搭配

創建像這樣

的公共/ MIX-manifest.json檔案{ "/js/app.js": "/js/app.{hash-example}.js" }

我看到的唯一問題是混合使用mix()助手它出現只有工作,而npm watch正在運行,這是一件好事靈藥前處理很好,但搭配相對比較新,所以它可能會解決,我自己還沒有足夠的惱火尋找到它,因爲在開發過程中我始終運行npm run hot這確實重裝熱在任何js文件更改。 - 編輯:這似乎是現在修復

+1

感謝您的回答,它有所幫助。想要知道一件事,應該'mix-manifest.json'承諾git? –

+1

如果你是'.gitignore'/ js和/ css文件夾,它可能是沒有多大意義的。請注意,如果找不到'mix-manifest.json'文件並且讓它作爲運行npm的提醒,它會很快拋出異常。它總是絆倒我們的一些團隊成員。 –

+1

明白了。謝啦! –

相關問題