如何在ASP.NET MVC中组织外部JavaScript文件

如何在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]。这是

我有特定于它所在视图的内联JS,但代码足够长,我想将其移动到外部脚本。然而,我不知道如何做到这一点而不污染我的脚本文件夹*,也不知道如何命名它

目前我有两个文件夹:

  • ~/Scripts
    用于库(jQuery等)。这是VisualStudio在默认情况下放置这些内容的地方,所以我将其保留为这种方式
  • ~/Scripts/Custom
    用于在多个视图中使用的JavaScript
我正在考虑为每个控制器和/或其视图创建一个文件夹,看起来像
~/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
可能适合您。如果应用程序增长,可能会有同名的控制器。您还需要考虑这些脚本是否需要相互引用——更多的文件夹会使这一点更加困难。请使用这些链接获取一些想法,我的首选是提供业务价值的特征文件夹结构。