Laravel整合Bootstrap 4的完整方案(推薦),laravelbootstrap

來源:互聯網
上載者:User

Laravel整合Bootstrap 4的完整方案(推薦),laravelbootstrap

如果你是想在laravel5.5上直接使用bootstrap 4,這應該是相對明智的,因為bootstrap 4最終版本已經發布了,那麼這裡有一個好訊息,就是你不需要一步步執行下面的步驟了,你可以通過安裝一個外掛程式來快速使用上boostrap 4了,外掛程式連結:laravelnews/laravel-twbs4,具體如何使用就不贅述了,按照外掛程式文檔進行就好了。 如果你是在laravel5.5之前的版本整合bootstrap 4,那麼你還是需要走一遍下面的流程:

(一)安裝bootstrap及相應依賴

npm install bootstrap@4.0.0-beta popper.js --save-dev

bootstrap-sass package.json 中刪除,然後再執行 npm install

(二)在你的 app.scss 檔案中引入新的bootstrap的sass檔案

//替換掉之前bootstrap-sass的引入//如果你是laravel 5.5及以後的版本,這裡的node_modules換成~符號@import "node_modules/bootstrap/scss/bootstrap";

(三)編譯bootstrap的js檔案

在這一步可能你會想直接複製一份你的 bootstrap.min.js 檔案到public目錄,然後引用,但實際上這樣是不行的,因為bootstrap 4的js組件還依賴 jquery 和 Popper.js ,預設的 bootstrap.min.js 檔案並沒有編譯進去。

方法一 使用 bootstrap.min.js 來編譯

這個時候我們需要在 webpack.mix.js 添加這麼幾行:

mix.autoload({  jquery: ['$', 'window.jQuery',"jQuery","window.$","jquery","window.jquery"],  'popper.js/dist/umd/popper.js': ['Popper']});mix.js([    'node_modules/bootstrap/dist/js/bootstrap.min.js'    ],'public/js/bootstrap.min.js')

可以看到,我們通過 mix.autoload() 方法自動載入 jqueryPopper.js ,這樣在下面 mix.js() 方法編譯 bootstrap.min.js 檔案的時候就把相應的依賴編譯進去了,最後我們將編譯好的檔案發送到了 public/js/ 目錄下,然後在需要的地方調用即可。

方法二 使用 bootstrap.bundle.min.js 來編譯

如果你到bootstrap的 node_modules/bootstrap/dist/js/ 目錄下,會發現還有一個 bootstrap.bundle.min.js 檔案,這個檔案裡其實已經預先編譯了 Popper.js 進去,但是沒有 jquery ,所以剛才的 webpack.mix.js 檔案裡,我們其實也可以這樣來寫:

mix.autoload({  jquery: ['$', 'window.jQuery',"jQuery","window.$","jquery","window.jquery"]});mix.js([    'node_modules/bootstrap/dist/js/bootstrap.bundle.min.js'    ],'public/js/bootstrap.min.js')

最終壓縮出來的檔案都是一樣的,如果你是用 npm run dev 來編譯,那麼第二種方法壓縮出來的檔案要小一點,但如果是到了生產環境,也即 npm run production ,那麼兩者的大小都是一樣的。

當然,第二種方法除了少寫一行,還有一個好處,就是在最開始的時候,就不需要 npm install popper.js 了,無可厚非了,少下載個組件而已。

(四)載入bootstrap 4的分頁檢視(pagination blade)

至此,大家就可以按照bootstrap 4文檔在blade視圖中實際使用了,或者將已有的bootstrap 3的改成4的,因為這是bootstrap的一次相對顛覆性的升級,所以無法向下相容,取決於你的項目大小,但一般而言將bootstrap 3的改成4是需要費一陣子功夫的。

具體的不多談,這期間可能比較困惑的就是如何升級bootstrap 4的分頁樣式,方法也很多,這裡提供一個最簡單最快速的:

首先,找到你的 resources/views/vendor/pagination 目錄,這是laravel預設的分頁樣式視圖檔案,如果沒有執行一下 php artisan vendor:publish 就有了

default.blade.phpbootstrap-4.blade.phpsimple-default.blade.phpsimple-bootstrap-4.blade.php

可以看到laravel其實預設就已經為我們準備好了bootstrap 4的分頁模板檔案,這個時候最簡單的就是改一下檔案名稱字即可,之前的 default.blade 就是原來的bootstrap 3的,所以我們可以將其改成 bootstrap-3.blade.php ,然後將 bootstrap-4.blade 改成預設的 default.blade ,這樣laravel載入分頁的時候用的就是4的樣式了。

固然,你也可以像laravel文檔上說的,在每一次渲染分頁的時候指定具體的分頁檢視檔案,比如:

$paginator->links('vendor.pagination.bootstrap-4')

但這樣太麻煩,知道即可。

總結

以上所述是小編給大家介紹的Laravel整合Bootstrap 4的完整方案,希望對大家有所協助,如果大家有任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對幫客之家網站的支援!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.