Javascript 设计门户容器

Javascript 设计门户容器,javascript,html,angularjs,requirejs,modular-design,Javascript,Html,Angularjs,Requirejs,Modular Design,我正处在一个场景中,我必须用HTML5和Javascript构建一个门户容器。该容器将提供“n”个小部件URL,容器负责通过DIVs中的Ajax(而不是iFrame)加载它们 现在的问题是如何将每个小部件的JavaScript函数定义分开?例如,我在容器页面上有两个DIV,Widget1_DIV和Widget2_DIV。Widget1的HTML、JS和CSS将放在Widget1_DIV中,类似地,对于Widget2 现在假设这两个小部件都有一个名为“foo”的JS函数,一旦它们嵌入到同一个DOM

我正处在一个场景中,我必须用HTML5和Javascript构建一个门户容器。该容器将提供“n”个小部件URL,容器负责通过DIVs中的Ajax(而不是iFrame)加载它们

现在的问题是如何将每个小部件的JavaScript函数定义分开?例如,我在容器页面上有两个DIV,Widget1_DIV和Widget2_DIV。Widget1的HTML、JS和CSS将放在Widget1_DIV中,类似地,对于Widget2

现在假设这两个小部件都有一个名为“foo”的JS函数,一旦它们嵌入到同一个DOM中,就会发生冲突。我想知道RequireJS是否有助于避免冲突,或者是使两个小部件的div模块化的正确解决方案


谢谢

你考虑过使用任何JS框架吗?我推荐您
AngularJS
,因为它的功能、MVC方法和灵活性。我知道,这需要在项目生命周期的开始阶段做很多工作,但稍后您肯定会看到优势和健壮的页面结构

此外,Angular JS允许您保留单独的项目结构:

- WidgetName
| - javascriptfile.js
| - widgetpage.html
| - javascriptfile_test.js
请参阅更多:


当然,您不需要使用这个特定的框架,还有很多其他奇妙的工具:
Knockout
Backbone

使用仪表板框架如何。这应该会让事情变得更容易。 例如:

我在小部件中使用AngularJS,但如果两个小部件使用相同的模块名称,则冲突也可能出现。你说什么!谢谢你的评论,我认为dashing.io是基于Ruby的,不是吗?