我试图找出管理我的 MVC 项目的 javascript 代码的最佳方法。由于页面的工作流程,我网站的一些页面在用户界面上使用了 javascript。
为了使开发和调试更容易,我将所有 javascript 拆分为四个 .js 文件,Initializations.js
这些文件具有处理任何形式的 jquery 控件和字段初始化DataRetrieval.js
的所有功能,它具有通过 ajax 检索和显示数据的所有功能,DataModification.js
它具有通过 ajax 将数据修改发送到服务器的所有功能,并且Utilities.js
具有实用功能来提供帮助。
以这种方式构建它不仅有助于我的开发工作,因为我知道哪个文件包含基于函数的特定函数,而且它还使我的 javascript 文件更小。它还有助于调试,因为我可以直接从 chrome 的调试器中查看脚本,选择哪个文件并轻松找到我需要调试的功能。从我正在阅读的内容来看,这也有帮助,因为大多数浏览器可以同时下载多个 .js 文件,从而更快地加载页面。这也使得以后更容易缩小。
我注意到的问题是使用 .js 文件我无法将 C# 代码嵌入其中,因为它们不是视图。这意味着我所有的 URL 都必须有魔术字符串(所以如果我稍后更改路由,我必须手动更改所有 URL)并且我不能使用我在 C# 中设置的常量来使所有内容都易于管理(如果我更改一个常量,例如整数意味着一个项目未发布,我必须在我的 javascript 文件中搜索所有引用并手动更改它们,这可能会导致错误)。
现在我想到的一种可能性是将我的 javascript 文件转换为部分视图。然而,这仍然使得在 Web 浏览器中调试页面变得相当复杂,因为页面的源代码将被 javascript 乱扔。这也使得以后很难缩小 javascript。
那么我可以使用哪些其他策略来管理我的 javascript 并使其与站点的 c#/MVC 部分保持一致,并且在我需要进行更改时不必违反 DRY?
我网站的 Web 应用程序部分还有很多开发工作要做,因此还有更多的 JavaScript 需要编写,我想在事情变得比现在更多失控之前想出一个策略。