【问题标题】:Bower ASP.NET Core MVC missing jquery.validate.js fileBower ASP.NET Core MVC 缺少 jquery.validate.js 文件
【发布时间】:2016-07-08 14:21:56
【问题描述】:

更新: Visual Studio - 文件 - 新建 - 项目 - ASP.NET Core Web 应用程序 (.NET Core) - Web 应用程序


我留下了默认名称 WebApplication1

  • 展开wwwroot文件夹
  • 扩展到 wwwroot/lib/jquery-validation

  • 在 jquery-validation 文件夹中我们可以看到这个(见下面的 img)



- 右键单击​​ src 文件夹中的 WebApplication1 项目 - 点击管理 Bower 包 - Bower 包管理器屏幕要求更新 jqueryjquery-validation(见下面的图片)


  • 单击更新 jquery **一切看起来都很正常(见下面的图片)


  • 单击更新 jquery-validation dist 文件夹消失了(见下图)




下面的文字是我更新这个问题之前的内容

我在 VS2015CE 中创建了一个空的 ASP.NET Core MVC Web 应用程序。 我添加了 bower.json 文件,该文件管理应用程序的客户端内容。 通过 Bower,我下载了 jquery、jquery-validate、jquery-validate-unobtrusive。

Bower 在 wwwroot 文件夹中创建了一个 lib 文件夹。 在 ~/lib/jquery-validate/ 的某个地方我应该能够找到 jquery.validate.js 并且它是“孩子” - jquery.validate.min.js 那里没有这样的文件,所以我开始怀疑并创建了另一个项目,这次是一个非空的 Web 应用程序。

然后我比较了两个应用程序的 lib 文件夹中的两个 jquery-validate 文件夹。

  • 我的第一个项目(创建为 EMPTY)有以下文件夹 结构:

dist 文件夹不存在


  • 我的第二个项目(创建为 WebApplication,不是空的)有 以下文件夹结构:

dist 文件夹存在,其中有 jquery.validate.js 文件,它也是子文件 jquery.validate.min.js。


我做错了什么?或者它是VS2015中的一个错误?还是 Bower 虫子?

【问题讨论】:

  • 仅供参考:jquery.validate.min.js 不是jquery.validate.js 的“孩子”...它只是缩小版。您可以使用jquery.validate.js 或者您可以使用jquery.validate.min.js,因为它们包含相同的代码。见:en.wikipedia.org/wiki/Minification_(programming)
  • 我知道它们包含相同的代码,我碰巧知道文件的缩小版本是什么 :) 我写它只是因为它在视觉工作室中如此显示。然而,这并不能回答我的问题。
  • 它不应该回答你的问题......这就是我将它作为评论发布的原因。
  • 使用更流行或通用的标签你会得到更多的关注,所以我添加了asp.netvisual-studio

标签: asp.net visual-studio jquery-validate bower asp.net-core-mvc


【解决方案1】:

您需要运行 Grunt 文件,该文件将为您构建 dist 文件夹。我现在发现的最好的方法是安装Grunt Launcher extension。然后,您可以右键单击 jQuery-validation 文件夹中的 package.json 文件并选择“NPM 安装”。那应该为您构建 dist 文件夹。

我还没有找到自动化的方法,但我确信有。刚开始使用 Gulp 并且在遇到您遇到的问题之前没有使用 Grunt。如果有人在那里有一些提示,那就太好了。祝你好运!

【讨论】:

  • 我终于实现了安装 Grunt 并让它构建 dist 文件夹。快乐地跳舞,直到我编译我的应用程序并收到此错误:MSB4018“FindConfigFiles”任务意外失败。 System.IO.PathTooLongException:指定的路径、文件名或两者都太长。完全限定文件名必须少于 260 个字符,目录名必须少于 248 个字符。文件夹路径为 +- 115 个字符长(D:\Gebruiker\Documents\Visual Studio 2015\Projects\ToolsApp\src\UI\wwwroot\lib\jquery-validation\dist\localization)我在做什么错|?跨度>
  • 我发现在 VS2017RC 中强制 Bower 使用 jquery-validation 版本 1.15.0(不是当前最新版本的 1.16.0)解决了我的问题,因为它与 dist 文件夹一起出现。有趣的是 jquery-validation-unobtrusive 3.2.6(当前最新版本)适用于 1.15.0
【解决方案2】:

右键单击 Bower.json 文件并选择 Open Command Line ==> PowerSell

类型 凉亭更新

这就是我解决问题的方法..

【讨论】:

  • 如果我右键单击 Bower.json 文件,则没有打开命令行 ==> PowerShell 选项...任何其他想法如何解决此问题
  • 您可以通过输入 powershell 并按回车键来启动 powershell。上面的答案使用了一个非常令人困惑的语法;)它也对我不起作用。 bower 不是 PS 命令。这里少了一个步骤。
  • 对我来说,整个 lib 文件夹都丢失了——即使在构建并​​查看了 bower 日志消息之后,似乎一切正常。打开项目目录的 cmd shell 并运行 bower update 就可以了。谢谢。
  • 这对我有用。但是是的,首先你去 CMD 然后输入 POWERSHELL .. 然后输入 bower update
【解决方案3】:

如果 Bower 没有恢复正确的包:

  • .bowerrc 中指定的 directory 值中删除所有内容,该值位于您的 Web 项目文件夹中(例如 wwwroot/lib )
  • 打开Git BashGit SCM for Windows->安装时选择Git Bash选项)
  • 转到您的 Web 项目文件夹(bower.json 所在的位置)
  • 运行以下命令:

    bower cache clean
    bower install
    

    bower update
    


下面是 bower.json 文件的示例

{
  "name": "asp.net",
  "private": true,
  "dependencies": {
    "bootstrap": "3.3.7",
    "jquery": "2.2.0",
    "jquery-validation": "1.14.0",
    "jquery-validation-unobtrusive": "3.2.6"
  }
}

【讨论】:

    【解决方案4】:

    不幸的是,以上提供的解决方案都不适合我。
    Microsoft 的聪明人通过 VS 更新或从事开源工作的人解决了这个问题。
    一定是bug什么的。
    不管怎样,谢谢你们的帮助..

    【讨论】:

    • 我真的不明白为什么我的回答被否决了。如果那些投反对票的人能够解释他们不喜欢我的回答的什么地方,那就太好了。
    • 它被否决了,因为它缺少任何有用的信息。至少尝试添加哪个更新解决了它...
    • 正如我在回答中指出的那样 - 我不知道哪个更新修复了它。老实说,我不知道它是如何修复的。也许我应该不诚实,我应该接受上面其他人的答案之一……想想看,我仍然可以删除我的答案并这样做……
    • 这听起来是个好主意。您也可以随时发表评论,说明它已根据您接受的答案自行解决。
    猜你喜欢
    • 2023-01-30
    • 1970-01-01
    • 2018-12-13
    • 1970-01-01
    • 1970-01-01
    • 2018-02-04
    • 1970-01-01
    • 1970-01-01
    • 2017-05-26
    相关资源
    最近更新 更多