我使用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文件)错了 - 请随时告诉我们应该如何以正确的方式完成。