如何使用 bower、gulp 和 elixir 在 Laravel 5 中安装 bootstrap?

How to install bootstrap in Laravel 5 using bower, gulp and elixir?

我将 bootstrap-sass-official 添加到我的凉亭依赖项中 bower_components

我以这种方式(在 gulpfile.js 中)编译并添加了 bootstrap css 文件到 public

var paths = {
    'bootstrap': 'bower_components/bootstrap-sass-official/assets/',
    'jquery':    'bower_components/jquery/dist/'
};


elixir(function(mix) {
    mix.sass('app.scss', null, {includePaths: [paths.bootstrap + 'stylesheets/']});
});

app.scss中有一行@import '_bootstrap';。并且 css 个文件已编译并且可以正常工作。

如何向页面添加 bootstrap 字体和脚本?

我找到了解决办法:

mix.scripts(
    '*',
    'resources/assets/javascripts',
    'public/js/app.js'
);
mix.scripts(
    [
        paths.jquery + 'jquery.js',
        paths.bootstrap + 'javascripts/bootstrap.js'
    ],
    'public/js/dependencies.js',
    'bower_components'
);
mix.copy(paths.bootstrap + 'fonts/bootstrap/', "public/fonts/");

我的解决方案,我很自豪。

/gulpfile.js

var elixir = require('laravel-elixir');

// Set your Bower target directory below.
var bowerDir = './vendor/bower_components';

// Helper function.
function bower(pkg, path) {
    return [bowerDir, pkg, path].join('/');
}

elixir(function (mix) {
    // Styles
    mix.sass('app.scss', null, {includePaths: [bowerDir]});

    // Fonts
    mix.copy(bower('bootstrap-sass', 'assets/fonts/**'), 'public/build/fonts');

    // Scripts
    mix.scripts([
        bower('jquery', 'dist/jquery.min.js'),
        bower('bootstrap-sass', 'assets/javascripts/bootstrap.min.js')
    ]);

    // Versioning
    mix.version([
        'css/app.css',
        'js/all.js'
    ]);
});

/resources/assets/sass/app.scss

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

body {
  font: 100% Helvetica, sans-serif;
  color: #333;
}

PhpStorm 的额外提示

在 PhpStorm 中将 bowerDir 设置为资源根目录。这样你就可以摆脱警告。

使用Ctrl+Space显示路径自动完成。