2017-02-24 64 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