Javascript requirejs中的main.js在重定向后不会加载
我将MVC与.NET一起使用 Requirejs在我的应用程序主页上加载良好(URL为Javascript requirejs中的main.js在重定向后不会加载,javascript,c#,asp.net-mvc-4,requirejs,Javascript,C#,Asp.net Mvc 4,Requirejs,我将MVC与.NET一起使用 Requirejs在我的应用程序主页上加载良好(URL为http://localhost:62124)我添加了一个按钮,用于将用户重定向到另一个包含表单的页面。重定向后的URL为http://localhost:62124/Users/RedirectToSignUp 我在控制台中收到这些错误消息 http://localhost:62124/Users/Scripts/main.js net::ERR_ABORTED 404 (Not Found) Uncaug
http://localhost:62124
)我添加了一个按钮,用于将用户重定向到另一个包含表单的页面。重定向后的URL为http://localhost:62124/Users/RedirectToSignUp
我在控制台中收到这些错误消息
http://localhost:62124/Users/Scripts/main.js net::ERR_ABORTED 404 (Not Found)
Uncaught Error: Script error for "main"
https://requirejs.org/docs/errors.html#scripterror
at makeError (require.js:5)
at HTMLScriptElement.onScriptError (require.js:5)
这是我的脚本目录结构
Scripts
|----Custom
|----|---- login.js
|----|---- signup.js
Bootstrap.min.js
jquery-3.3.1.js
jquery.validate.min.js
jquery.validate.unobtrusive.min.js
knockout-3.4.2.js
main.js
modernizer-2.8.3.js
require.js
登录页面(主页)加载所有正确的脚本。此页面上的requirejs路径为/Scripts/requirejs。但是,在另一个页面上,它试图在Users/Scripts/main.js
下找到main.js,但它并不存在
这就是我的main.js的样子
requirejs.config({
baseUrl: '/Scripts',
paths: {
'jquery': 'jquery-3.3.1.min',
'jquery.validate': 'jquery.validate.min',
'jquery.validate.unobtrusive': 'jquery.validate.unobtrusive.min',
'knockout': 'knockout-3.4.2',
'login': 'Custom/login',
'signup': 'Custom/signup'
},
shim: {
'jquery.validate': ['jquery'],
'jquery.validate.unobtrusive': ['jquery', 'jquery.validate']
}
});
var base = {}
base.init = function () {
if (applicationConfig.login) {
require(['login']);
}
if (applicationConfig.signup) {
require(['signup']);
}
}
base.init();
即使在重定向之后,如何正确加载requirejs和main.js
编辑:
这就是我在my_Layout.cshtml中加载main.js的方式
<script data-main="Scripts/main" src="~/Scripts/require.js"></script>
我可以通过更改
<script data-main="Scripts/main" src="~/Scripts/require.js"></script>
到
这就是你的问题。它试图从中提取js文件。我假设您在localhost:62124/scripts/main.js下找到了它。听起来main.js脚本的相对导入有问题,因此main.js的外观没有帮助,因为它无法解析该文件。请告诉我们在MVC视图中导入main.js的位置。请使用您在_Layout.cshtml中引用main.js的部分更新第一篇文章
<script data-main="/Scripts/main" src="~/Scripts/require.js"></script>