摘要: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--026--删除排序数组中的重复项

    问题描述: 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成 ...

  2. ActiveMQ Advisory Message

    http://activemq.apache.org/advisory-message.html ActiveMQ broker 内部维持了一些 topic,保存了一些系统信息,客户端可以订阅这些 t ...

  3. weblogic CVE-2017-10271修复教程

    1.简介 CVE-2017-10271是weblogic wls-wsat组件的一个xml反序列化漏洞,可造成远程命令执行.更详细分析可见参考链接,本文强调在进行参考链接修复中的一些细节. 2.影响版 ...

  4. VMware如何进入安全模式

    VMware进入安全模式和物理机一样:使光标处于在虚拟机中激活状态,启动系统时不停按F8即可. 安全模式--只加载必要的驱动和进程:在cmd可以看到部份命令不能执行或命令功能不能完全实现. 网络安全模 ...

  5. js简单验证码的生成和验证

    如何用js生成简单验证码,并验证是否正确的方法 1.html页面如下 <div> <table border="0" cellspacing="5&qu ...

  6. JS--理解参数,argument,重载

    ECMAScript函数的参数与大多数其他语言函数的参数不同.ECMAScript函数不介意传递进来多少个参数,也不在乎传递进来的参数是什么数据类型. 原由在于,ECMAScript中的参数在内部是用 ...

  7. static与全局变量区别

    作用域不同: 全局变量是不显式用static修饰的全局变量,但全局变量默认是动态的,作用域是整个工程,在一个文件内定义的全局变量,在另一个文件中,通过extern 全局变量名的声明,就可以使用全局变量 ...

  8. H5离线缓存技术Application Cache

    H5离线缓存技术Application Cache 1.离线缓存技术:是浏览器本身的一种机制 HTML5引入Application Cache(应用程序缓存)技术,离线存储可以将站点的一些文件存储在本 ...

  9. SQL 常用判断语句

    我们在做sql更新时,为防止sql重复执行报错,需要对所需要执行的对象进行判断是否存在: 常用判断脚本如下: 判断视图是否存在 IF object_id('viewname') IS not NULL ...

  10. Linux内核空间内存申请函数kmalloc、kzalloc、vmalloc

    我们都知道在用户空间动态申请内存用的函数是 malloc(),这个函数在各种操作系统上的使用是一致的,对应的用户空间内存释放函数是 free(). 注意:动态申请的内存使用完后必须要释放,否则会造成内 ...