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

Ben*_*ter 62 javascript asp.net-mvc jquery

抱歉这个问题是如此主观.

我正在寻找一些如何在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命名空间的例子(凭借对象)和类似的方法,但再次可以做一些更多的背景知识.

人们可以推荐的任何网站,书籍等都将受到赞赏.

Tri*_*ran 9

我以为我会投入2美分.

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

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

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

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

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