如何根据 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 %/
并将其替换为配置中的值。
我有一个典型的 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 %/
并将其替换为配置中的值。