代码之家  ›  专栏  ›  技术社区  ›  Nano

Stylus给了我一个预期的“缩进”,得到了“突出”,但我不知道为什么

  •  2
  • Nano  · 技术社区  · 10 年前

    奇怪的是,我只是在变量设置中进行了更改,改为使用哈希。。。你知道的:

    black = #000
    

    替换为:

    colors = {
        'black': #000
         // and so on...
    }
    

    然后,我替换了代码中的所有变量调用(当然),所有模块都编译良好,除了一个,这是跟踪:

    ParseError: ../../dopamine/components/_ui.styl:26
       22|     notice(clr: -colors['light-blue'])
       23|     color -colors['white']
       24|     font-weight bold
       25|     text-shadow 1px 1px 1px rgba(#000, .2)
     > 26|   
       27|   if type == "success"
       28|     notice(clr: -colors['green'])
       29|     color -colors['white']
    
    expected "indent", got "outdent"
    
        at Parser.error (/usr/local/lib/node_modules/stylus/lib/parser.js:230:11)
        at Parser.expect (/usr/local/lib/node_modules/stylus/lib/parser.js:258:12)
        at Parser.block (/usr/local/lib/node_modules/stylus/lib/parser.js:741:12)
        at Parser.selector (/usr/local/lib/node_modules/stylus/lib/parser.js:1277:24)
        at Parser.property (/usr/local/lib/node_modules/stylus/lib/parser.js:1228:47)
        at Parser.ident (/usr/local/lib/node_modules/stylus/lib/parser.js:1183:25)
        at Parser.stmt (/usr/local/lib/node_modules/stylus/lib/parser.js:685:26)
        at Parser.statement (/usr/local/lib/node_modules/stylus/lib/parser.js:593:21)
        at Parser.block (/usr/local/lib/node_modules/stylus/lib/parser.js:753:21)
        at Parser [as if] (/usr/local/lib/node_modules/stylus/lib/parser.js:842:23)
    

    所以,我检查了基本的常见打字错误和其他问题,但我没有发现问题。。。在上一个版本中确实有效,我只是改变了变量,我没有再碰任何东西。代码位于以下链接中:

    error module variable settings

    所以,谢谢你的回答!

    1 回复  |  直到 10 年前
        1
  •  6
  •   donut    10 年前

    不幸的是,当使用哈希作为值时,还需要使用冒号。所以

    .best-thing-ever
      width 1234px
      color colors['white']
      font-size 23px
    

    你会写

    .best-thing-ever
      width 1234px
      color: colors['white']
      font-size 23px
    

    请注意,冒号仅用于哈希值为的财产。看见 this related issue on GitHub 详细信息。