【问题标题】:Uncaught ReferenceError: jQuery is not defined in production environment未捕获的 ReferenceError:生产环境中未定义 jQuery
【发布时间】:2018-03-16 00:51:12
【问题描述】:
我正在构建一个 ASP.NET 核心网站,当我在我的服务器上部署应用程序时发生了一些奇怪的事情。虽然调试一切正常(Dev env),但是当我在生产模式下通过 Docker 容器运行应用程序时,它拒绝让用户登录,我得到了
Uncaught ReferenceError: JQueryError: Jquery is not defined
源代码绝对没有错误。
可能是什么问题?
【问题讨论】:
标签:
c#
jquery
asp.net-core
docker-compose
【解决方案1】:
请检查您的 _Layout.cshtml 和 _ValidationScriptsPartial.cshtml 文件。你应该在这些文件中有这样的东西:
<environment include="Development">
<script src="~/lib/jquery/dist/jquery.js"></script>
</environment>
<environment exclude="Development">
<script src="~/lib/jquery/dist/jquery.min.js"></script>
</environment>
<environment include="Development">
<script src="~/lib/jquery-validation/dist/jquery.validate.js"></script>
<script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js"></script>
</environment>
<environment exclude="Development">
<script src="https://ajax.aspnetcdn.com/ajax/jquery.validate/1.14.0/jquery.validate.min.js" (...)></script>
<script src="https://ajax.aspnetcdn.com/ajax/jquery.validation.unobtrusive/3.2.6/jquery.validate.unobtrusive.min.js" (...)></script>
</environment>
确保您在开发人员和生产环境中拥有正确的 jQuery 路径 - jquery.js、jquery.min.js、jquery.validate.js 等等。使用 Chrome 的开发者工具中的网络选项卡来准确检查丢失的文件。