如何在grunt中为多个文件设置requirejs

时间:2014-10-24 12:07:46

标签: node.js requirejs gruntjs r.js file-structure

我目前正在探索组织和构建我们网站JS文件的新解决方案。我们目前的解决方案非常混乱,难以维护。看起来有点像这样:

-src/js/
--global.js
--and_every.js
--single.js
--source.js
--file.js
--we.js
--have.js
-- ...(x100)

然后我们运行一个Make脚本来通过闭包编译器等运行代码,并将其复制到站点js目录,然后根据需要将其包含在我们的CMS定义的任何页面上。 (global.js在每一页上)。

问题是,缺乏组织,代码可以很容易重复,并且页面上的脚本包含并不总是最优的。

所以我一直在寻找使用Grunt作为任务运行器,并使用RequireJS方法开发JS文件,创建模块并将它们包含在页面特定的js文件中。

所以我对重组的尝试看起来像这样:

-/src/js/ 
--global/
----modules/
------modules.js
------thatwill.js
------beused.js
------justforglobal.js
----global.js
--pages/
----modules/
------colorpicker.js
------superdropdown.js
------etc.js
----page1.js
----page2.js
----someotherpage.js

所以我的问题是,这看起来是个好主意,还是有更好的建议?如果这样可以,我如何设置grunt来构建pages / * .js中的所有js文件,而不必在grunt文件中指定每个文件。

P.S我是Grunt和RequireJS的新手,很抱歉,如果这是一个平凡的问题:)

1 个答案:

答案 0 :(得分:-1)

在咕噜声中你可以使用像

这样的东西
pages/**/*.js

从该文件夹中获取所有js文件。

为了构建你的js文件,我只建议使用一个连续的结构。 制作小模块并为每个模块提供一个自己的文件。

也许您还希望将来使用像Angular或Backbone这样的MV *框架。