首頁  >  文章  >  php框架  >  分享Laravel整合Bootstrap4的完整方案

分享Laravel整合Bootstrap4的完整方案

藏色散人
藏色散人轉載
2021-02-04 10:25:041780瀏覽

下面由Laravel教學專欄給大家介紹Laravel整合Bootstrap 4的完整方案 ,希望對需要的朋友有所幫助!

2018年1月23日更新: 如果你是想在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-sasspackage.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元件也依賴jqueryPopper.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了,無可厚非了,少下載個組件而已。

(四)加載bo​​otstrap 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.php
bootstrap-4.blade.php

simple-default.blade.php
simple-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整合Bootstrap4的完整方案的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除