如何根据 mimosa 中的构建配置文件将变量传递给 coffeescript

How to pass a variable to coffeescript depending on build profile in mimosa

我有一个典型的 mimosa 前端项目,使用 coffeescript 编写脚本。我希望某个变量(api 路径)具有不同的值,具体取决于构建配置文件(dev 或 prod)。我怎样才能在含羞草中实现这一目标?

我想要的示例:

prod.coffee:

exports.api = 'myserver'

dev.coffee:

exports.api = 'localhost'

api-accessor.coffee

config = getCurrentConfig(); # this is the part I do not know how to implement
exports.getStuff = () ->
  # here I want config.api to have different values depending on build profile
  $.ajax config.api + 'getStuff'

您可以将环境变量放入构建配置文件中。

所以不要使用 exports.api = "localhost",而是使用 process.env.api = "localhost"

然后当使用该配置文件时,这些变量附加在 env 上并且可以在任何地方访问。

我们就是这样解决这类问题的。

我通过写一个简单的含羞草实现了我想要的plugin。 有了它我可以写

/%= api %/

并将其替换为配置中的值。