ysmood/nokit

一个关于 kit.log 和 colors 的神奇bug

dracupid opened this issue · 5 comments

使用coffee运行以下代码 nokit@0.9.5

kit = require 'nokit'
require 'colors'
kit.log '123'
module.exports =  ->
    builder = 123
    #

抛出 ReferenceError: builder is not defined

这个结果我看来是十分荒谬的 😨 ,因为当以下条件任一满足时错误不会出现:

  • 使用console.log 替换 kit.log
  • 变量名称不叫builder
  • 注释不是中文
  • 没有那行注释
  • 编译成js后运行
  • 使用0.9.6及以上版本的nokit

求解 ❓

使用node 0.12.7 io 2.5.0 和 3.0.0都出现问题

这个问题 @hustKiwi 也碰到过,当时测试了很久断定是 coffee 中文编码的问题。

@dracupid 另外鉴于 colors bug 众多,nokit 最新版已经废用它了,切换到新的 kit.brush 并不复杂。

了解。colors在npm上也已经被chalk超过了。

我这边只给出了最基本的支持,如果有更复杂的需求,chalk 是非常不错的,它唯一的缺点就是依赖太多,难以掌握全部特性。