2017-02-24 61 views
8

我在我的laravel應用程序中使用npm安裝了bootstrap 4。但我認爲,引導3個工作背後使用命令不是引導4.
如何在Laravel 5.4中使用引導程序4?

    NPM安裝

難道我留下什麼呢? 還是我需要手動導入引導資產/ sass/app.scss文件或其他?

+0

它應該在'public'文件夾中的某處。然後像在html中一樣包含它,但現在在你的刀片的某個地方 –

+0

我其實不理解你。但是資產從資產目錄編譯和那些js和css文件導入bootstrap 3,這就是我想的問題。 – unreleased

+0

@unreleased您是否更新過資產中Bootstrap的路徑?例如在你的Scss https://github.com/laravel/laravel/blob/master/resources/assets/sass/app.scss#L9。 – drmonkeyninja

回答

11

您必須手動將鏈接從resources/assets/sass/app.scss更改爲bootstrap。你會看到這條線

@import "node_modules/bootstrap-sass/assets/stylesheets/bootstrap"; 

@import "node_modules/bootstrap/scss/bootstrap"; 
+0

prevoiusly嘗試'@import「node_modules/bootstrap/scss」;'並得到一些錯誤。現在它解決了。謝謝你:) – unreleased

+1

@unreleased,你可能也想加載bootstrap4的腳本,如果你這樣做,用'require'('bootstrap');'''''''''' resources/assets/js/bootstrap.js' – motia

8

做新的或空Laravel項目流動更換。

  • package.json刪除引導入口和與 "bootstrap": "4.0.0-alpha.6"更換。
  • resources/assets/sass/app.scss,comment列出的importvariables
  • 更改引導到@import "node_modules/bootstrap/scss/bootstrap.scss";
  • 路徑在resources/assets/js/bootstrap.js,尋找require('bootsrap-sass');並將其更改爲require('bootstrap');

  • 通過編輯webpack.mix.js帶來的javascript

的JavaScript

mix.js([ 
    'node_modules/jquery/dist/jquery.min.js', 
    'node_modules/bootstrap/dist/js/bootstrap.js', 
    'resources/assets/js/app.js'], 'public/js'); 
mix.sass('resources/assets/sass/app.scss', 'public/css') 
    .sass('resources/assets/sass/admin.scss', 'public/css/admin'); /* If you want to make admin css file. */ 
  • 運行$ npm install

  • 檢查node_modulesbootstrapjquery文件夾是安裝正確。如果不安裝,然後手動安裝。

  • 對於bootstrap4 $ npm install [email protected]

  • 的jQuery $ npm install jquery

如果一切順利的話,你應該能夠運行npm run dev

注意:如果您需要tether.js,請使用cdn或手動安裝。因爲[email protected]需要tether.jstooltip

Source

+0

編輯webpack.mix.js是不必要的,因爲app.js需要bootstrap.js,它需要jQuery和Bootstrap。 – roastedtoast

1

你需要從resources/assets/sass/app.scss

註釋掉@import "variables";線import指令被稱爲2次,一次在app.scss,然後從安裝目錄中的文件bootstrap.scss