【问题标题】:How to use Lumx in Laravel with Elixir?如何在 Laravel 中将 Lumx 与 Elixir 一起使用?
【发布时间】:2016-06-25 05:39:42
【问题描述】:

我遵循AngularJS with Laravel 5 using NPM 中提供的一个答案,但我无法使用 Gulp 成功编译 lumx 的 SCSS 文件。

有人知道如何解决这个问题吗?

我的 app.scss 包含以下内容:

@import "../../../bower_components/mdi/scss/materialdesignicons";
@import "../../../bower_components/lumx/dist/scss/lumx";

运行 gulp 后,我收到此错误:

gulp-notify: [Laravel Elixir] Sass Compilation Failed: bower_components\lumx\dist\scss\_lumx.scss
    Error: File to import not found or unreadable: bourbon
           Parent style sheet: D:/laragon1.0.6/www/task-manager/bower_components/lumx/dist/scss/_lumx.scss
            on line 5 of bower_components/lumx/dist/scss/_lumx.scss
    >> @import "bourbon";

_lumx.scss 文件包含

@import "bourbon";
@import "materialdesignicons";

@import "settings/colors";
@import "settings/defaults";
@import "settings/responsive";

我的 bower_components 文件夹位于我的 Laravel 应用程序的根文件夹中。 所有 javascript 文件都适用于 Elixir 任务,但只有 scss 文件有问题。

【问题讨论】:

    标签: laravel sass gulp laravel-elixir lumx


    【解决方案1】:

    我可以将 lumx 与 laravel 集成。

    进入项目文件夹

    npm 安装

    凉亭初始化

    凉亭安装 lumx --save

    • 配置 gulpfile.js

    elixir((mix) => {
        //mix.sass('app.scss');
        //mix.webpack('app.js');
        mix.styles('./bower_components/lumx/dist/lumx.css');
        mix.styles('./bower_components/mdi/css/materialdesignicons.css');
        mix.scripts('./bower_components/jquery/dist/jquery.js');
        mix.scripts('./bower_components/velocity/velocity.js');
        mix.scripts('./bower_components/moment/min/moment-with-locales.js');
        mix.scripts('./bower_components/angular/angular.js');
        mix.scripts('./bower_components/lumx/dist/lumx.js');
        mix.copy('./bower_components/mdi/fonts', 'public/fonts');
    
    });
    • 在 resources/views/test.blade.php 和配置中创建 test.blade.php

    <!DOCTYPE html>
    <html lang="en" ng-app = "myModule">
    <head>
    <meta charset="UTF-8">
    <title>Laravel Lumx</title>
    <link rel="stylesheet" href="{{ asset('css/lumx.css') }}">
    <link rel="stylesheet" href="{{ asset('css/materialdesignicons.css') }}">
    <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:300,400,500,700">
    </head>
      <body>
        <div class="p+">
        Hello
      </div>
        <div class="p+">
          <lx-button lx-type="raised">Button</lx-button>
          <lx-button lx-type="flat">Button</lx-button>
          <lx-button lx-type="fab"><i class="mdi mdi-plus"></i></lx-button>
          <lx-button lx-type="icon"><i class="mdi mdi-plus"></i></lx-button>
        </div>
        
        <div class="p+">
          <lx-switch ng-model="vm.switches.colors.blue" lx-color="blue">Blue switch</lx-switch>
          <lx-switch ng-model="vm.switches.colors.green" lx-color="green" class="mt+">Green switch</lx-switch>
          <lx-switch ng-model="vm.switches.colors.orange" lx-color="orange" class="mt+">Orange switch</lx-switch>
          <lx-switch ng-model="vm.switches.colors.red" lx-color="red" class="mt+">Red switch</lx-switch>
        </div>
    
        <script src="{{ asset('js/jquery.js') }}"></script>
        <script src="{{ asset('js/velocity.js') }}"></script>
        <script src="{{ asset('js/moment-with-locales.js') }}"></script>
        <script src="{{ asset('js/angular.js') }}"></script>
        <script src="{{ asset('js/lumx.js') }}"></script>
        <script>
          angular.module('myModule', ['lumx']);
        </script>
    
      </body>
    </html>
    • 配置路由/web.php

    Route::get('/', function () {
        return view('test');
    });
    • 现在运行 gulp 命令,在浏览器中打开项目,可以看到this

    • 你可以将所有的js和ccs打包到一个文件中

    配置 gulpfile.js

    elixir((mix) => {
        //mix.sass('app.scss');
        //mix.webpack('app.js');
        mix.styles([
          './bower_components/lumx/dist/lumx.css',
          './bower_components/mdi/css/materialdesignicons.css'
      ], 'public/css/lumxall.css');
        mix.scripts([
          './bower_components/jquery/dist/jquery.js',
          './bower_components/velocity/velocity.js',
          './bower_components/moment/min/moment-with-locales.js',
          './bower_components/angular/angular.js',
          './bower_components/lumx/dist/lumx.js'
        ], 'public/js/lumxall.js');
        mix.copy('./bower_components/mdi/fonts', 'public/fonts');
    
    });
    • 更新文件test.blade.php

    <!DOCTYPE html>
    <html lang="en" ng-app = "myModule">
    <head>
    <meta charset="UTF-8">
    <title>Laravel Lumx</title>
    <link rel="stylesheet" href="{{ asset('css/lumxall.css') }}">
    <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:300,400,500,700">
    </head>
      <body>
        <div class="p+">
        Hola
      </div>
        <div class="p+">
          <lx-button lx-type="raised">Button</lx-button>
          <lx-button lx-type="flat">Button</lx-button>
          <lx-button lx-type="fab"><i class="mdi mdi-plus"></i></lx-button>
          <lx-button lx-type="icon"><i class="mdi mdi-plus"></i></lx-button>
        </div>
    
        <div class="p+">
          <lx-switch ng-model="vm.switches.colors.blue" lx-color="blue">Blue switch</lx-switch>
          <lx-switch ng-model="vm.switches.colors.green" lx-color="green" class="mt+">Green switch</lx-switch>
          <lx-switch ng-model="vm.switches.colors.orange" lx-color="orange" class="mt+">Orange switch</lx-switch>
          <lx-switch ng-model="vm.switches.colors.red" lx-color="red" class="mt+">Red switch</lx-switch>
        </div>
    
    
        <script src="{{ asset('js/lumxall.js') }}"></script>
        <script>
          angular.module('myModule', ['lumx']);
        </script>
    
      </body>
    </html>
    • 然后再次运行命令 gulp

    • 对于 angular-material、material design lite、Material Design for Bootstrap 和其他框架,这是有效的

    • 源码在Github

    【讨论】:

      猜你喜欢
      • 2015-10-25
      • 1970-01-01
      • 2016-08-30
      • 2015-12-16
      • 1970-01-01
      • 2015-04-08
      • 2019-03-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多