glyphicons not showing with sass bootstrap integration

后端 未结 14 1686
滥情空心
滥情空心 2021-01-17 10:01

I used this tutorial to integrate bootstrap in my project:

https://laravel-news.com/2015/10/setup-bootstrap-sass-with-laravel-elixir/

This places an app.css

相关标签:
14条回答
  • 2021-01-17 10:39

    Updated answer, I have this implemented now in a much better way, similar to the top answer. In app.scss:

    /* BOOTSTRAP */
    @import "node_modules/bootstrap-sass/assets/stylesheets/bootstrap";
    
    /* FONT-AWESOME */
    $fa-font-path: "../../fonts";
    @import "node_modules/font-awesome/scss/font-awesome";
    
    0 讨论(0)
  • 2021-01-17 10:41

    In Laravel 5.4 what I did is

    mix.copy('node_modules/bootstrap-sass/assets/fonts/bootstrap/', 'public/fonts/bootstrap');
    

    And in resources/assets/sass/_variables.scss or app.scss

    $icon-font-path: '/fonts/bootstrap/';
    
    0 讨论(0)
  • 2021-01-17 10:47

    If you are using elixir() helper in your blade templates, you should put your fonts files into /public/build. As result /public/build/fonts, the "fonts" folder contains all font files.

    0 讨论(0)
  • 2021-01-17 10:49

    This is what worked for me in Laravel 5.3 on Windows

    1. First make sure you are using the NodeJS package latest version (v6.7.0)

      Click the tab "Current Latest Features" at the URL https://nodejs.org/en/download/current/

    2. Run npm install

    3. Modify the file gulpfile.js to contain the following:

      elixir(mix => {
          mix.sass('app.scss')
             .webpack('app.js');
          mix.copy('node_modules/bootstrap-sass/assets/fonts/bootstrap/','public/fonts/bootstrap');
      });
      
    4. Run gulp:

      gulp
      
    5. Thats it.

    0 讨论(0)
  • 2021-01-17 10:50

    For Laravel 5.4

    This answer didn't exactly solved my problem but it pointed me to the right direction. This is my solution and it covers both if you have defined url for your application (using homestead or some other VM/Vagrant/etc. or if you have set vhost and hosts file for your application), or if you're like me, and have installed lamp stack/xampp/wamp/mapm/etc and doing development from apache htdocs sbfolder.

    Firstly you need to add
    mix.copy('node_modules/bootstrap-sass/assets/fonts/bootstrap/', 'public/fonts/');
    in your webpack.mix.js at the end of the file.

    Next open up resources/assets/sass/_variable.scss and edit $icon-font-path value.

    If you're not using homestead but some lamp stack where you don't have defined dev url for your application (you didn't set vhost and changed hosts file), but instead you're accessing it as a subfolder e.g. localhost/YOUR_APP/public/ then you should set icon font path like
    $icon-font-path: "/YOUR_APP/public/fonts/";

    If you have set url for your application, you just need to set icon font paht like
    $icon-font-path: "/public/fonts/" and recompile css file. You should change to this before pushing your application to the production if it's not set at first!!!

    For those who don't know how to recompile css and js files follow this steps:
    1. Go to the root of your application and run bash there (git bash, cmd, etc.)
    2. npm install
    3. npm run-script production (you have other flags available but i perfer production as it minifies js and css)
    4. Congrats you just recompiled your js and css

    0 讨论(0)
  • 2021-01-17 10:51

    You should in your app.scss before including bootstrap file set variable $icon-font-path value correctly, probably in your case it should be:

    $icon-font-path: '/css/fonts/';
    
    0 讨论(0)
提交回复
热议问题