Я использую 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)
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 на этой странице. Однако на другой странице он пытается найти файл main.js в Users/Scripts/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 даже после перенаправления?
Edit:
Вот так я загружаю файл main.js в свой _Layout.cshtml
<script data-main="Scripts/main" src="~/Scripts/require.js"></script>