摘要:Koala是一款预处理器语言图形编译工具,支持Less、Sass、CoffeeScript、Compass框架的即时编译。无需手动输入命令去编译,后台监听文件是否有改变,如有修改会自动进行编译,能够大大提升Web开发中的工作效率。

近期,我们对腾讯Koala团队进行了专访 ,一款预处理器语言图形编译工具,支持Less、Sass、CoffeeScript、Compass框架的即时编译。本篇文章为大家着重介绍Koala工具的使用进行讲解,以供参考。

Koala代码托管地址: https://code.csdn.net/Tencent/koala


一、安装Koala

开发者可以直接下载安装包,或者选择从源码编译Koala,两种方式都可以。

1. 直接下载

可前往 Koala项目主页,根据系统平台下载对应的版本,Sass编译要求Windows/Linux系统且已安装好Ruby运行环境。

2. 从源码编译Koala

a. 首先克隆Koala源码到本地:

$ git clone <a href="https://code.csdn.net/Tencent/koala.git">https://code.csdn.net/Tencent/koala.git</a>

b. 下载与你系统环境相对应已编译好的node-webkit(<=0.8.x)文件 
c. 根据使用的操作系统,进行不同的操作:

  • Windows 系统:复制 nw.exe, nw.pak, icudt.dll 到 koala/src 目录,并安装  Ruby 到koala/src/ruby目录;
  • Linux系统:复制 nw, nw.pak,并安装 Ruby 环境: sudo apt-get install ruby
  • Mac OS X 系统:复制 node-webkit.app,Mac OSX 已内置 Ruby,无需额外安装。

d. 最后运行nw可执行程序。

二、Koala基本操作

那如何在Koala中添加项目,如何批量处理文件?下面为大家介绍下Koala的基本操作。

Koala运行界面

  • 添加项目: 拖拽文件夹到Koala界面,即可添加项目。如果项目目录下有新增文件,点击文件列表上方的刷新按钮,将自动添加新文件。
  • 修改文件输出目录: 选择某个文件后,点击路径旁边的“编辑”图标,或单击右键出现操作菜单。可按下Ctrl键同时选中多个文件,然后右键操作批量设置。
  • 多文件批量设置: 可像文件管理器一样,同时选择多个文件;目前功能有设置输出目录、切换自动编译、执行编译、移除文件。
  • 指定编译器:如果开发者 希望使用指定的某个版本的编译器,如希望使用“Sass pre version”,此时可以打开Koala设置面板,在对应的编译器设置栏,勾选“使用系统设置”;关于“使用指定的编译器”,如果在全局环境中(终端)可以直接执行该编译器命令,如sass -h,则无需填写,否则则填写具体的执行路径。

三、详解“项目配置”

项目配置功能可以对所有项目文件进行设置,制定属于该项目的编译配置,同时以配置文件的形式保存,可以方便团队间配置同步,协作更加高效。

创建配置文件

在Koala界面左侧项目列表中选择某个项目,单击右键,“项目配置—新建配置”,然后选择相应项目类型,JS、CSS项目可以选择“默认”配置。这样,Koala将在该项目根目录下创建koala.config文件。首次创建配置文件后,右键点击项目,选择“重新载入”即可生效配置;后续修改的配置,Koala将自动读取配置并立即生效。

配置字段介绍

mappings (Array):指定对应的输入目录与输出目录。

如:

"mappings": [
{
"src": "path/to/source",
"dest": "path/to/output"
},
{
"src": "path/to/source2",
"dest": "path/to/output2"
}
]

ignores (Array):过滤文件或目录。

添加过滤规则后,Koala将过滤匹配的文件或目录。

如: "ignores": ["*.json", "*.txt", "test", "path/libs"]

options (Object) :设置项目默认编译选项。

设置后项目中所有文件都将自动同步该配置,当然还是允许在文件编译选项区单独对文件进行设置。

customOptions(Array)

如果你需要的某些编译选项不在"options"中,你可以在"customOptions"中添加它们。

注意,请使用完整的选项名,而不是缩写,如,["--scss", ... ,"--no-cache"]

requireLibs (Array)

指定使用的Ruby类库,将会在执行Sass命令前引入它们,相当于Sass的"--require LIB"选项。


更多内容,如怎样在Koala中添加Source Map选项、如何在Koala中安装并使用第三方Ruby库,可以参考详细使用文档: https://code.csdn.net/Tencent/koala/wikis

【腾讯开源】前端预处理器语言图形编译工具 Koala使用指南的更多相关文章

  1. Koala – 开源的前端预处理器语言图形编译工具

    koala 是一个前端预处理器语言图形编译工具,支持 Less.Sass.Compass.CoffeeScript,帮助 Web 开发者更高效地使用它们进行开发.跨平台运行,完美兼容 Windows. ...

  2. Sass:一种CSS预处理器语言

    http://sass-lang.com/ Sass是一种CSS预处理器语言,通过编程方式生成CSS代码.因为可编程,所以操控灵活性自由度高,方便实现一些直接编写CSS代码较困难的代码. 同时,因为S ...

  3. Blade - 腾讯开源的构建系统 c/c++编译环境

    ,Blade是软件project的利器.有助于模块化,模块化的力度控制自如.对于提高系统的可维护性.复杂性的隔离.代码复用的最大化.都有非常大的优点. 2,Blade提供了单元測试的最佳使用方式. 假 ...

  4. Sass预处理器

    CSS预处理器 less,sass和stylus sass:较早,缩进风格 scss:完全兼容css3,使用大括号 编写css的编程语言,引入变量,函数,重复代码等功能,如果编译成css文件 Sass ...

  5. koala预编译工具的使用

    Koala是一个开源的预处理语言图形编译工具,目前已支持Less.Sass.Compass与CoffeeScript. 安装Koala 在Koala官网根据你的系统平台下载对应的版本.Linux系统要 ...

  6. [Objective-C语言教程]预处理器(18)

    Objective-C预处理器不是编译器的一部分,而是编译过程中的一个单独步骤. 简单来说,Objective-C预处理器只是一个文本替换工具,它指示编译器在实际编译之前进行必要的预处理. 我们将Ob ...

  7. CSS预处理器——Sass、LESS和Stylus实践

    CSS(Cascading Style Sheet)被译为级联样式表,做为一名前端从业人员来说,这个专业名词并不陌生,在行业中通常称之为“风格样式表(Style Sheet)”,它主要是用来进行网页风 ...

  8. CSS预处理器实践之Sass、Less大比拼[转]

    什么是CSS预处理器? CSS可以让你做很多事情,但它毕竟是给浏览器认的东西,对开发者来说,Css缺乏很多特性,例如变量.常量以及一些编程语法,代码难易组织和维护.这时Css预处理器就应运而生了.Cs ...

  9. Css预处理器实践之Sass、Less大比拼

    xwei | 2012-07-07 | 网页重构 什么是CSS预处理器? Css可以让你做很多事情,但它毕竟是给浏览器认的东西,对开发者来说,Css缺乏很多特性,例如变量.常量以及一些编程语法,代码难 ...

随机推荐

  1. LeetCode--283--移动0

    问题描述: 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序. 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原 ...

  2. LeetCode--242--有效的字母异位词

    问题描述: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词. 示例 1: 输入: s = "anagram", t = "nagara ...

  3. 2018-02-16 GetSameTypeQuestion

    '目前存在的BUG '图片补丁存在多个URL Private Declare Function URLDownloadToFile Lib "urlmon" Alias " ...

  4. Spring boot @Autowired注解在非Controller中注入为null

    参考链接:https://blog.csdn.net/qq_35056292/article/details/78430777

  5. Oracle 聚合函数

    聚合函数: SQL中提供的聚合函数可以用来统计.求和.求最值等等. 此处采用Oracle 11g中其他用户SCOTT中的EMP表,进行演示. –COUNT:统计行数量 COUNT(*)统计的是结果集的 ...

  6. python写网络爬虫的环境搭建

    网上找了好多资料,都不全,通过资料的整理,包括自己的测试,终于把环境打好了,真是对于一个刚接触爬虫的人来说实属不易,现在分享给大家,若有不够详细之处,希望各位网友能补充. 第一步,下载python, ...

  7. ThinkPHP5集成JS-SDK实现微信自定义分享功能

    最近开发一个项目,需要将链接分享给好友时能够自定义标题.简介和logo,现将ThinkPHP5集成JS-SDK实现微信自定义分享功能的过程整理成文. 一.准备工作 1.认证的公众号 不管是订阅号还是服 ...

  8. 【转】js生成接口请求参数签名加密

    js生成接口请求参数签名加密 签名算法规则: 第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=v ...

  9. 【转】在使用实体框架(Entity Framework)的应用中加入审计信息(Audit trail)跟踪数据的变动

    在一些比较重要的业务系统中,通常会要求系统跟踪数据记录的变动情况.系统要记录什么时间,什么人,对那些信息进行了变动. 比较简单的实现方式是在每个表中加入两个字段CreatedBy和CreatedAt, ...

  10. RocketMQ消息存储

    转载:RocketMQ源码学习--消息存储篇 消息中间件—RocketMQ消息存储(一) RocketMQ高性能之底层存储设计 存储架构 RMQ存储架构 上图即为RocketMQ的消息存储整体架构,R ...