asp.net mvc开发人员的javascript最佳实践

时间:2011-08-24 00:46:51

标签: javascript jquery asp.net-mvc

对这个问题如此主观抱歉。

我正在寻找一些如何在asp.net mvc应用程序中更好地管理javascript的实际例子。

在jQuery之前,我尽量避免使用javascript。现在我经常使用它,但觉得我可能错过了一些在大型Web应用程序中构建我的javascript代码的最佳实践/建议。

有些事我感到内疚,想要离开:

  1. 我的观点中的内联javascript。我不是在谈论大量代码,但在每个视图上都有一些初始化代码并不罕见。
  2. 一个大的“网站”javascript文件。随着我的应用程序中使用的插件列表的增长(例如jquery ui),我的“启动”功能也正在初始化每个插件。通常这是为了避免问题1(添加javascript内联)。也许每个视图的javascript文件是更好的解决方案?
  3. 一切似乎都非常程序化。我习惯于在.net中以面向对象的方式工作,但是当涉及到javascript时,这似乎就会消失。现在我知道OOP肯定是可能的,并且鼓励使用javascript,但我可以看到一些实际的例子,说明我应该如何在真实的Web应用程序中执行它。
  4. 命名空间/项目结构 - 我已经看到了一些javascript命名空间的例子(凭借对象)和类似的方法,但再次可以用更多的背景知识。
  5. 人们可以推荐的任何网站,书籍等都将受到赞赏。

3 个答案:

答案 0 :(得分:9)

我以为我会投入2美分。

  1. Best practice建议不要在视图中使用JScript,我发现可以通过使用包含JScript的HTML帮助程序或将JScript推入JS文件并在HTML帮助程序中初始化它来避免这种情况。这就是第三方MVC控制开发者(例如Telerik)使用的内容。如果您决定将JScript推入控制器,您会发现它很快就会变得混乱。

  2. 我经常发现自己处于每个视图都有一个JS文件的场景中,但是这可以合并为每个模块有一个JS。这又取决于代码的复杂程度。如果您发现许多视图具有相同的初始化,那么您可以进入基本视图方法。这也被认为是最佳做法。

  3. 您会发现JScript is quite OO,这与JScript如何使用JSON有关。我发现JScript的灵活性使它看起来偏离了OOP。我对JScript的有限经验是保持简洁和简洁,这将重新强制执行可重用的JScripts。

  4. 我认为这可以通过JScript实践来解决。我在这里找到的最大问题不是名称间距,而是如何避免重复/双重加载JScripts。如果视图是“自包含的”,理论上应该加载自己的JScripts,但这会导致JScripts被多次加载甚至产生冲突。再一次,一个好的HTML助手可以在这里保存你(aplogies,我没有一个很好的例子,但谷歌它你也不会出错)。

  5. 总的来说,JScript非常强大,可以将Web编程提升到一个全新的水平。 JScript将越来越多地成为Web平台的一部分,特别是当每个人都进入HTML 5.使用MVC和JSript时,有100种不同的方法可以完成同样的事情,最佳实践只能带你到目前为止。其余由您决定,取决于您要实现的目标,目标受众是谁以及您支持的浏览器。

答案 1 :(得分:2)

答案 2 :(得分:0)

对我来说,像KnockoutJS这样的图书馆已经帮助组织了我的JS代码,它非常强大,我已经将它用于多个项目并且它运行得非常好。 (我也是一个asp.net mvc开发人员,但这也适用于其他技术,此外,发明它的人对aspnet mvc有很多经验)