我目前在潛水的過程分爲Laravel混合,到目前爲止,雖然我完全理解Laravel混合以及它是如何工作的,我想了解多一點關於常見的做法和「入門指南」 ......合併多個文件與Laravel混合
例如,考慮這個文件結構:
/resources/assets/js/app.js (all global functions)
/resources/assets/js/index/index.js (functions specific to index.js)
/resources/assets/js/about/about.js (functions specific to about.js)
/resources/assets/js/contact/contact.js (functions specific to contact.js)
現在,理想情況下,我想下面結合和精縮通過以下方式:
/public/js/index/index-some_hash.js (including app.js)
/public/js/about/about-some_hash.js (including app.js)
/public/js/contact/contact-some_hash.js (including app.js)
據我瞭解,要實現這一目標的方式是類似如下:
// Index
mix.js([
'resources/assets/js/app.js',
'resources/assets/js/index/index.js'
], 'public/js/index/index.js').version();
// About
mix.js([
'resources/assets/js/app.js',
'resources/assets/js/about/about.js'
], 'public/js/about/about.js').version();
// Contact
mix.js([
'resources/assets/js/app.js',
'resources/assets/js/contact/contact.js'
], 'public/js/contact/contact.js').version();
我的問題
很簡單,我想知道,如果上面是做正確的方法是什麼我正在努力?有沒有更好的方法,或者更常見的方法來實現這一點?
如果上述結構是錯誤的,還有其他的方式我的文件應該合併,那麼請分享你的知識。然而,除非有很好的理由,我想避免如下:
- 服二爲每個頁面即app.min.js和index.min.js單獨的文件。 這需要每頁兩個查找,最好應該是儘可能
- 服務相同的文件在我的網站的所有網頁少。 服務代碼,這是不會使用它的網頁是資源的浪費,不管緩存...
一個想法...
我注意到一行代碼中的一個JS文件; require('./bootstrap');
。叫我老土,但我從來沒有在JavaScript中看到了這一點(我假設它是從的node.js)。這就是說,顯然是剛剛加載bootstrap.js
文件作爲依賴,特定的文件。因此,考慮到這一點,將在下面的解決方案更好:
about.js
require('./app'); // Include global functions
// Do some magic here specifically for the 'about' page...
webpack.mix.js:
mix.js(['resources/assets/js/*/*.js'); // For all pages
如果這是一個更好的解決方案,那麼我如何使用SASS包含文件呢?有沒有辦法可以改善上述情況?
我認爲sass有一個'import'語句,它的行爲像'require'在javascript中 –
@CerlinBoss完美,這是否意味着我的'可能'解決方案比第一個更好? –
我能看到的唯一區別是一個纖細的混合文件。 –