如何将CSS,JS和其他文件组织到ASP MVC 4中

时间:2013-11-07 21:48:51

标签: asp.net-mvc asp.net-mvc-4

我是ASP.NET MVC 4的新手,因为我正在开发PHP(Laravel),组织事物的方式通常类似于“公共”文件夹,然后将其分为css,{ {1}},imgjs等等....这是我更喜欢组织文件的方式...尝试将其关注到ASP MVC 4中,我发现并且阅读这个类似于我想要实现的问题。
organizing custom javascripts in asp.net mvc 4

我按照他们说的方式做了,并添加了我的自定义JS文件并将它们添加到Bundle中,它编译并运行正常但我遇到的问题是在lib里面我移动的所有文件都带有感叹号,而且我新创建的文件夹(直接在文件资源管理器中,不是通过VS执行)默认情况下不显示,它们由于某种原因隐藏,我可以用Solution Explorer看到。我确保它们存在于Show All Files内,但我的Bundle没有得到刷新。我正在尝试制作一个看起来如下的结构:

Solution Explorer

关于将所有内容转储到相同文件夹(Content& Scripts)中,包括我在某些官方库之间的自定义文件,我并不是很疯狂。我知道直接使用文件资源管理器可能不是最好的方法,但那么配置这些的官方方式是什么......实际上我的结构对ASP MVC4有意义吗?
编辑
我的问题与创建和移动Contents img ui-icons.png css bootstrap bootstrap.css bootstrap.min.css Scripts lib bootstrap bootstrap.min.js bootstrap.js jquery jquery.js jquery.min.js jquery.ui.js jquery.ui.min.js modernizr modernizr.js custom mycustom.js mycustom2.js 等文件到jquery文件夹后的原因有关,我的Scripts/lib仍然是在Solution Explorer下显示这些文件,但带有感叹号表示文件未找到(当然,因为我移动了它们)。为什么它不能完全反映我在文件资源管理器中看到的内容?除了编辑Scripts之外还有其他任何我想做的事情,以便我的Bundles与现实保持同步???为什么我创建的文件夹没有显示在Solution Explorer中,为什么我必须点击Solution Explorer才能看到它们?命令Show All Files甚至不能作为可用命令启用,这就是我直接在文件资源管理器中完成这些文件夹的原因......但为什么呢?

1 个答案:

答案 0 :(得分:3)

坦率地说,您可以根据自己的需要组织MVC项目。如果有任何接近官方的话,那就是#34;组织您的Web文件的方式,默认Visual Studio MVC4模板将如何组织它们:

  • 内容(CSS文件和相关图片文件)
  • 图片(一般图片文件)
  • 脚本(JavaScript文件)

如果您对其他类型的组织更熟悉,或者是更喜欢其他组织的团队成员,那么请继续使用。 (尽管在该团队方案中,请确保所有团队成员遵循相同的组织规则!)。

修改

要使用解决方案资源管理器更改MVC模板提供的文件夹结构,请右键单击要在其中添加子文件夹的文件夹(这包括项目名称,用于项目级文件夹),然后选择<从显示的弹出菜单中选择strong>添加,然后添加文件夹

如果您想将解决方案中已有的文件移动到解决方案中的其他位置,您应该使用解决方案资源管理器而不是Windows资源管理器移动它们,否则您将获得您遇到的行为,Visual Studio不知道你移动它们的位置。您可以单击并拖动文件,右键单击并复制和粘贴等。

如果需要将预先存在的文件添加到解决方案中(例如,包含一组自定义脚本),可以使用Windows资源管理器将文件复制到相应的项目文件夹中。然后,在Visual Studio中,突出显示与移动它们的位置对应的项目,并按解决方案资源管理器工具栏中的显示所有文件按钮 - 这将显示您在Windows资源管理器中复制的文件,否则不会在解决方案资源管理器选项卡中列出。最后,突出显示新文件,右键单击,然后从弹出菜单中选择包含在项目中选项。

最后一个指针:如果您需要为项目添加特定的JavaScript库,最简单的方法是使用 NuGet包管理器,而不是下载和添加文件在Windows资源管理器中此选项位于Visual Studio的“工具”菜单中的库项目管理器 - &gt;下。管理NuGet包以获得解决方案。并非所有JavaScript库都以这种方式提供,但最受欢迎的是。