嘗試使用requirejs-rails(使用Rails 4)預編譯我的Backbone資產。我一直在打一個障礙,需要-js抱怨requirejs-rails AMD錯誤「其中有很多匿名模塊」
Error: Error: application.js has two many anonymous modules in it.
這似乎是一個RequireJS錯誤。谷歌搜索發現this Github issue,我不明白。
我確實發現問題在於AMD條件如下的任何庫。我想這與將自己註冊爲匿名模塊有關。如果我刪除這些條件,那麼requirejs-rails不會再抱怨,我可以編譯優化文件,然後在Rails中運行。
但是從我的所有外部庫手動刪除這些AMD條件是不可持續的。
任何人有更好的建議嗎?我的requirejs.yml文件已正確設置。
注意:我使用的requirejs護欄this fork由於主代碼不使用Rails 4
作爲一個手邊的工作:我能夠使用相同的代碼而不刪除非Rails應用程序中的AMD位直接調用r.js(而不是requirejs-rails)來優化代碼。我不確定爲什麼在r.js沒有的時候,requirejs-rails的優化會跳出這個錯誤。我認爲requirejs-rails在底下調用r.js?是什麼原因造成的錯誤
例子:
(function (root, doc, factory) {
if (typeof define === "function" && define.amd) {
// AMD. Register as an anonymous module.
define([ "jquery" ], function ($) {
factory($, root, doc);
return $.mobile;
});
} else {
// Browser globals
factory(root.jQuery, root, doc);
}
}(this, document, function (jQuery, window, document, undefined) {