如何在ASP.NET MVC项目中组织前端JavaScript代码?
我有一个ASP.NETMVC项目,它采用了很多JavaScript(jQuery和d3)。我是web开发新手,所以我想寻求一些关于如何组织前端脚本代码的帮助 我目前的方式是,“视图”下的每个文件夹只有一个对应的.js文件(这意味着该文件夹下的所有局部视图(.cshtml),共享该.js文件),我在_Layout.cshtml的$(document).ready()中显式初始化项目的所有.js文件 这就引出了两个问题:如何在ASP.NET MVC项目中组织前端JavaScript代码?,javascript,asp.net-mvc,Javascript,Asp.net Mvc,我有一个ASP.NETMVC项目,它采用了很多JavaScript(jQuery和d3)。我是web开发新手,所以我想寻求一些关于如何组织前端脚本代码的帮助 我目前的方式是,“视图”下的每个文件夹只有一个对应的.js文件(这意味着该文件夹下的所有局部视图(.cshtml),共享该.js文件),我在_Layout.cshtml的$(document).ready()中显式初始化项目的所有.js文件 这就引出了两个问题: 因为所有的局部视图都将这些代码放在一个.js文件中,所以它使每个.js文件都变
提前谢谢。给猫剥皮有多种方法。如果您有特定于局部视图的javascript代码,那么完全可以跳过包含文件并通过
标记将javascript直接嵌入其中的步骤。这解决了您发布的问题1和问题2,因为razor部分视图在加载时可以归结为插入DOM中的任意HTML
至于TypeScript和KnockoutJS,它们提供的好处对你自己和你正在从事的项目来说都是非常主观的。我建议你仔细阅读他们提供的功能,看看这是否是你想要追求的途径——对此没有正确或错误的答案,至少在很多特定的背景下,你不需要了解你在做什么。将你的javascript代码分成多个文件,这样每个js文件都对应于部分视图 然后在部分视图中加载相应的js,而不是_Layout.cshtml文件。这样,仅当加载部分视图时,才会执行相应的js TypeScript是一种应用于基本javascript的基于类的面向对象编程风格,由Microsoft开发和维护。这无助于组织文件,但有助于以OOP风格维护js代码
KnockoutJS是应用于javascript的模型-视图-模型(MVVM)模式。您可以在KnockoutJS中模块化每个js文件,即模型、视图和ViewModel的单独js,但它们将相互依赖。(请参阅)您可以使用Rails吗?查看YouTube上的“rails vs.net”。@FlyntHamlock我不能使用其他框架。谢谢,你的意思是,例如,我有一个部分视图:dashboard.cshtml,还有一个.JS文件:dashboard.JS。然后使用插入它?我认为如果dashboard.cshtml在_Layout中呈现多次,那么这将引入重复的JS代码?