laravel - 使用 Laravel 和 Elixir 打基础

标签 laravel sass zurb-foundation laravel-elixir

应该如何将 Foundation 与 Laravel 一起使用?

我以为我会在 vendor 中安装 Foundation文件夹 bower install foundation .这导致了 vendor/bower_components我拥有 Foundation 和所有必需的库(例如 jQuery)的文件夹。

我应该添加什么gulpfile.js为了 Elixir 正确解释这一点?应该可以

  • 更新 Bower 组件
  • 安装新的 Bower 软件包
  • 修改 Foundation Sass 变量,而不会在更新时覆盖这些变量
  • 使用指南针

  • 在非 Laravel 项目中,我将运行 Ruby gem foundation new my_project并手动包含编译的文件。但是,在这种情况下,该命令会创建许多不需要工作的文件。

    最佳答案

    Laravel Elixir 包含 Libsass,因此您不需要 Ruby 即可从 Laravel 编译您的 Foundation Sass 文件。您只需要 bower 和 Laravel Elixir。您也不需要从 bower_components 复制文件文件夹到 resources/assets文件夹。

    先关注 official instrucctions用于安装 Elixir。

    然后创建文件 .bowerrc在 Laravel 项目的根目录中包含以下内容:

    {
        "directory": "vendor/bower_components"
    }
    

    然后创建文件 bower.json在 Laravel 项目的根目录中包含以下内容:
    {
        "name": "laravel-and-foundation",
        "private": "true",
        "dependencies": {
            "foundation": "latest"
        }
    }
    

    然后安装凉亭和基础:
    npm install --global bower
    bower install # This will install Foundation into vendor/bower_components
    

    然后创建文件 resources/assets/sass/_settings.scss包含此内容的文件:
    // Custom settings for Zurb Foundation. Default settings can be found at
    // vendor/bower_components/foundation/scss/foundation/_settings.scss
    

    然后编辑文件resources/assets/sass/app.scss包含此内容的文件:
    @import "normalize";
    
    @import "settings";
    
    // Include all foundation
    @import "foundation";
    
    // Or selectively include components
    // @import
    //   "foundation/components/accordion",
    //   "foundation/components/alert-boxes",
    //   "foundation/components/block-grid",
    //   "foundation/components/breadcrumbs",
    //   "foundation/components/button-groups",
    //   "foundation/components/buttons",
    //   "foundation/components/clearing",
    //   "foundation/components/dropdown",
    //   "foundation/components/dropdown-buttons",
    //   "foundation/components/flex-video",
    //   "foundation/components/forms",
    //   "foundation/components/grid",
    //   "foundation/components/inline-lists",
    //   "foundation/components/joyride",
    //   "foundation/components/keystrokes",
    //   "foundation/components/labels",
    //   "foundation/components/magellan",
    //   "foundation/components/orbit",
    //   "foundation/components/pagination",
    //   "foundation/components/panels",
    //   "foundation/components/pricing-tables",
    //   "foundation/components/progress-bars",
    //   "foundation/components/reveal",
    //   "foundation/components/side-nav",
    //   "foundation/components/split-buttons",
    //   "foundation/components/sub-nav",
    //   "foundation/components/switches",
    //   "foundation/components/tables",
    //   "foundation/components/tabs",
    //   "foundation/components/thumbs",
    //   "foundation/components/tooltips",
    //   "foundation/components/top-bar",
    //   "foundation/components/type",
    //   "foundation/components/offcanvas",
    //   "foundation/components/visibility";
    

    配置文件 gulpfile.js有了这个内容:
    elixir(function(mix) {
    
        // Compile CSS
        mix.sass(
            'app.scss', // Source files
            'public/css', // Destination folder
            {includePaths: ['vendor/bower_components/foundation/scss']}
        );
    
        // Compile JavaScript
        mix.scripts(
            ['vendor/modernizr.js', 'vendor/jquery.js', 'foundation.min.js'], // Source files. You can also selective choose only some components
            'public/js/app.js', // Destination file
            'vendor/bower_components/foundation/js/' // Source files base directory
        );
    
    
    });
    

    要构建只需遵循官方文档:
    gulp # Run all tasks...
    gulp --production # Run all tasks and minify files
    gulp watch # Watch for changes and run all tasks on the fly
    

    您编译的文件将位于 public/css/app.csspublic/js/app.js .

    要更新到最新的 Zurb Foundation 版本,只需运行:
    bower update
    

    关于laravel - 使用 Laravel 和 Elixir 打基础,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30964780/

    相关文章:

    zurb-foundation - Zurb 基础 5 - 顶栏搜索

    php - 拉维尔 5 : Use implode() with Eloquent the right way

    html - 某些列在移动设备上的网格 div 定位不同

    php - 如果用户排名不存在,laravel 迭代会为下一个用户增加值(value)

    reactjs - 如何制作从 Ghost (Content API) 到 Next.js 的响应式图像?

    CSS 填充父级宽度

    javascript - 基于屏幕的 jquery 中心元素,而不是页面大小

    javascript - Zurb Foundation Orbit slider - 使非无限?

    laravel - 如何检查laravel中是否使用了分页

    php - 如何使用 eloquent 模型获取随机记录