"在fis中使用bootstrap-sass,熟悉fis-parser-sass的使用"

07 Jan 2015

2015-01-07-use-bootstrap-scss-in-fis

从题目不难看出,我最近要开始写点关于fis使用的博文了。fis固然好,但一些使用上的细节,不是靠看文档就能看得明白使用得顺心的;

好吧,本来应该把文档写得风趣一点,奈何大家写文档都是一板一眼,不好扭过来。

闲话少扯……

最近在整理官网,官网由于时间的推移,用户认知的改变需要做一些调整。展示给用户的内容呢要突出重点,所以呢我就放下手头乌七八糟的事情,开始了设计页面的事情;选来选去还是决定选择bootstrap干净利落;

bootstrap提供了less、sass等异构语言(变种语言)的版本,如今如果搞前端不用点这些都觉着丢人。那么问题来了,在fis里面如何使用上bootstrap的less或者sass版本呢?

由于我要使用的是=sass=,就来写写bootstrap的sass版本在fis的使用吧。

准备工作

  • 安装fis npm install -g fis
  • 安装fis-parser-sass插件 npm install -g fis-parser-sass
  • 下载bootstrap-sass

开始调教

  • 准备bootstrap源码

    不出意外的话,下来下来的bootstrap-sass解压后目录下有一大坨的东西,如这样

    $ tree -L 2
    .
    ├── CHANGELOG.md
    ├── CONTRIBUTING.md
    ├── Gemfile
    ├── LICENSE
    ├── README.md
    ├── Rakefile
    ├── assets
    │   ├── fonts
    │   ├── images
    │   ├── javascripts
    │   └── stylesheets
    ├── bootstrap-sass.gemspec
    ├── bower.json
    ├── composer.json
    ├── lib
    │   ├── bootstrap-sass
    │   └── bootstrap-sass.rb
    ├── package.json
    ├── sache.json
    ├── tasks
    │   ├── bower.rake
    │   ├── converter
    │   └── converter.rb
    ├── templates
    │   └── project
    └── test
        ├── compass_test.rb
        ├── compilation_test.rb
        ├── dummy_node_mincer
        ├── dummy_rails
        ├── dummy_sass_only
        ├── gemfiles
        ├── node_mincer_test.rb
        ├── node_sass_compile_test.sh
        ├── pages_test.rb
        ├── sass_test.rb
        ├── sprockets_rails_test.rb
        ├── support
        ├── test_helper.rb
        └── test_helper_rails.rb
    

    看到很多东西,特别是=.json=结尾的,都是提供给包管理用的,现在提供库的这些开发者也是蛮拼的,不过在他们的行列里面以后也会有=fis的包管理配置文件=的,😄i

    这么多东西,其实有用的就=assets=下的;那么其他东西是什么呢,由于sass是用ruby写的其他的东西都是一些编译出css的程序,忽略它们就好。

    不用的东西那么多,果断copy出有用的东西(=assets=目录下的内容)。

    ➜  bootstrap  tree -L 1
    .
    ├── fonts
    ├── images
    ├── javascripts
    └── stylesheets
    

    =sass=文件都在=stylesheets=下面;

  • 在fis中使用

    创建一个文件夹,作为fis的项目目录,并新建=fis-conf.js=

    $ mkdir fis-ui
    $ touch fis-conf.js
    

    windows用户可右键创建

    然后把准备好的源码=bootstrap=目录放到=fis-ui/static/=下面;

    配置配置文件

    // file: fis-conf.js
    fis.config.set('project.exclude', '**/_*.scss'); // [1]
    fis.config.set('modules.parser.scss', 'sass'); //启用fis-parser-sass插件当处理文件后缀是`.scss`。
    fis.config.set('roadmap.ext.scss', 'css'); //`.scss`的文件最后编译产出成`.css`文件。
    
    //给插件fis-parser-sass配置信息
    fis.config.set('settings.parser.sass', {
        'include_paths': [__dirname, path.join(__dirname, 'static', 'bootstrap', 'stylesheets')] //[2]
    });
    

    解释:

    • [1],=_=开头的这些文件,可以认为是定义的sass组件,会被sass最终编译内嵌到其他文件中
    • [2],这句告诉sass这个插件,遇到=@import=时,去什么目录查找文件。
    • fis-parser-sass是一个编译sass编译工具
  • 使用bootstrap

    假设页面的样式文件是=/static/index.scss=,那么使用就很简单了;

    @import '_bootstrap.scss'; /*从某一个include_path找到文件*/
    

    然后在页面引入这个index.scss即可;

    <link href="/static/index.scss" rel="stylesheet" type="text/css">
    

    当然在=index.scss=里面可以使用任意的=bootstrap=定义的=var=、=mixin=、=…=了。

    fis编译查看

    $ fis release
    or
    $ fis release -wL
    $ fis server start
    

    DONE.


Last updated 17 Sep 2025. Built with Emacs 29.4 (Org mode 9.6.15). Details.