错误报告

Stylus 内置了极好的错误报告功能,用于语法、解析和计算错误,并能提供完整的堆栈跟踪、行号和文件名

解析错误

解析错误示例:

 body
   form input
     == padding 5px

报错:

  ParseError: test.styl:3:16
    1| body
    2|    form input
    3|      == padding 5px
 ---------------------^
    4|

  illegal unary "==", missing left-hand operand

计算错误

此 “运行时(runtime)” 或计算错误是由于将字符串传递到 border-radius() 函数导致的,而不是推测的 Unit (通过使用助手工具 ensure(n, 'unit'))。

  ensure(val, type)
    unless val is a type
      error('expected a ' + type + ', but got ' + typeof(val))

  border-radius(n)
    ensure(n, 'unit')
    -webkit-border-radius n
    -moz-border-radius n
    border-radius n

  body
    border-radius '5px'

报错:

  Error: test.styl:3:62
    1| ensure(val, type)
    2|     unless val is a type
    3|       error('expected a ' + type + ', but got ' + typeof(val))
 -------------------------------------------------------------------^
    4|
    5| border-radius(n)
    6|   ensure(n, 'unit')

  expected a unit, but got string
      at ensure() (test.styl:2:17)
      at border-radius() (test.styl:6:16)
      at "body" (test.styl:10:18)
Stylus on GitHub