如何在动态生成.coffee文件时更改CoffeeScript块字符串中的初始缩进级别?

时间:2015-07-10 15:14:35

标签: coffeescript

我使用coffeescript生成.coffee文件。

以下是我使用的代码(JSFiddle link的示例,因此您可以使用它)。它被大大简化,只是让你能理解这个想法。每种方法都有自己的代码,每个文件都有自己的方法。

input = [
    name: 'method1'
  ,
    name: 'method2'
  ,
    name: 'method3'
]

Class = """
  Base = require './base'

  class ClassName extends Base
    option1: 1
    option2: 2


"""

for method, i in input
  Class += """

    #{method.name}: (cb) ->
      console.log #{i}


  """

作为输出我得到

Base = require './base'

class ClassName extends Base
  option1: 1
  option2: 2

method1: (cb) ->
  console.log 0

method2: (cb) ->
  console.log 1

method3: (cb) ->
  console.log 2

这显然不是我需要的,因为方法没有适当缩进,而且CoffeeScript依赖于缩进。

所以问题是 - 我该怎么做才能使输出有适当的缩进?

P.S。如果你认为我这样做(生成.coffee文件)错了 - 请随时告诉我们应该如何以正确的方式完成。

0 个答案:

没有答案