如何在ASP.NET MVC中组织外部JavaScript文件
我有特定于它所在视图的内联JS,但代码足够长,我想将其移动到外部脚本。然而,我不知道如何做到这一点而不污染我的脚本文件夹*,也不知道如何命名它 目前我有两个文件夹:如何在ASP.NET MVC中组织外部JavaScript文件,javascript,asp.net-mvc,asp.net-mvc-5,Javascript,Asp.net Mvc,Asp.net Mvc 5,我有特定于它所在视图的内联JS,但代码足够长,我想将其移动到外部脚本。然而,我不知道如何做到这一点而不污染我的脚本文件夹*,也不知道如何命名它 目前我有两个文件夹: ~/Scripts用于库(jQuery等)。这是VisualStudio在默认情况下放置这些内容的地方,所以我将其保留为这种方式 ~/Scripts/Custom用于在多个视图中使用的JavaScript 我正在考虑为每个控制器和/或其视图创建一个文件夹,看起来像 ~/Scripts/Custom/[Controller]。这是
用于库(jQuery等)。这是VisualStudio在默认情况下放置这些内容的地方,所以我将其保留为这种方式~/Scripts
用于在多个视图中使用的JavaScript李>~/Scripts/Custom
~/Scripts/Custom/[Controller]
。这是否会带来任何可维护性问题
*如果我将所有内容都放入
~/Scripts/Custom
,我将得到一堆文件,这些文件看起来像client create.js
,client edit.js
,ticket index.js
,等等。这比文件夹结构更难导航,并将无用的垃圾放在可能有用的文件名前面。为一个控制器创建一个js文件。例如,如果您使用ClientController,创建一个Client.js,将js文件视为javascript控制器
这是一种可维护的方法,我曾在几个大型项目中使用过这种方法
我参与过的一些项目的截图。第一个项目是基于纯.NETMVC的项目,另一个项目前端是angularjs,后端是.net
此外,在一个新的mvc项目中,开箱即用的东西会使应用程序在增长时变得复杂,因此最好根据最佳实践定制您的体系结构(但这仍然只是我的观点)
希望我的回答能对您有所帮助。为一个控制器创建一个js文件。例如,如果您使用ClientController,创建一个Client.js,将js文件视为javascript控制器 这是一种可维护的方法,我曾在几个大型项目中使用过这种方法 我参与过的一些项目的截图。第一个项目是基于纯.NETMVC的项目,另一个项目前端是angularjs,后端是.net 此外,在一个新的mvc项目中,开箱即用的东西会使应用程序在增长时变得复杂,因此最好根据最佳实践定制您的体系结构(但这仍然只是我的观点)
希望我的回答能对你有所帮助。为什么不直接使用
/Scripts/Custom
文件夹?@Stephen因为这样我就有大量的文件需要单独按文件名来组织(client edit.js
,client create.js
)。如果你想要更复杂的文件夹结构,那就看你了。你询问的意见与主题无关。这取决于你的申请。如果名称冲突的可能性很低,则/Controller/View
可能适合您。如果应用程序增长,可能会有同名的控制器。你也可能需要考虑这些脚本是否需要互相引用——更多的文件夹会使这更困难。我的偏好是提供业务价值的功能文件夹结构。为什么不直接使用/Scripts/Custom
文件夹?@Stephen因为这样我就有大量的文件需要单独按文件名组织(client edit.js
,client create.js
)。如果你想要更复杂的文件夹结构,那就看你了。你询问的意见与主题无关。这取决于你的申请。如果名称冲突的可能性很低,则/Controller/View
可能适合您。如果应用程序增长,可能会有同名的控制器。您还需要考虑这些脚本是否需要相互引用——更多的文件夹会使这一点更加困难。请使用这些链接获取一些想法,我的首选是提供业务价值的特征文件夹结构。