我与Middleman合作开发,测试和构建我的HAML & SASS项目。包括Require.JS(r.js构建)到Middleman构建
现在我还喜欢require.js。有什么办法可以将R.js构建整合到Middleman构建中?
你有什么经验吗?你如何处理中间人的require.js?
我与Middleman合作开发,测试和构建我的HAML & SASS项目。包括Require.JS(r.js构建)到Middleman构建
现在我还喜欢require.js。有什么办法可以将R.js构建整合到Middleman构建中?
你有什么经验吗?你如何处理中间人的require.js?
至于刚刚“跑r.js”而言,这是非常简单的:
定义自定义扩展(config.rb)的构建后执行r.js:
module RequireJS
class << self
def registered(app)
app.after_build do |builder|
exec('node r.js -o build/javascripts/app.build.js');
end
end
alias :included :registered
end
end
::Middleman::Extensions.register(:requirejs, RequireJS)
激活自定义扩展(config.rb):
configure :build do
…
activate :requirejs
end
r.js
可以通过命令行与node
一起使用,就像中间人一样。我不知道你是如何使用中间人,但在你的工作流程中加入另一个命令应该不成问题。你可以从命令行here找到instructions on how to use r.js
。
我知道如何使用命令行谢谢;)有一个'middleman build'命令。当我这样做时,我想要包含require.JS构建... – meo
这将需要一个不幸不存在的插件,请参阅[此问题](https://github.com/middleman/middleman/issues/ 622)。你可以通过在你的bash配置文件中使用别名来“破解”它''alias build =“node r.js [...]; middleman build”' – davidpfahler
我建议不要在那里使用exec,因为它交换了当前正在执行的进程与新的shell进程,因此当它返回原始进程时也是如此。例如。如果你在irb中尝试这样做:'exec“echo hello world”'你会看到irb进程在echo命令返回时被终止。这可能会导致一些有趣的行为,比如如果你想在exec调用之后运行一些ruby代码,那么这些行永远不会被执行。所以应该使用:'system'node r.js ....“ – Timo