2013-08-21 3 views
0

Я работаю над проектом Hottowel, когда Durandal 2.0 вышел, поэтому я обновил его, естественно. Это своего рода перепутались структуру файла, перемещать require.js и durandal папку Scripts папки и т.д. Я в конечном итоге переместить папку durandal обратно в папку App, как и в исходном шаблоне Hottowel и указывая на require.js в папке Scripts в index.cshtml.Hottowel Durandal 2 issue with RequireJS

Но вдруг, я получаю эти ошибки на странице загрузки:

GET http://localhost:7153/App/jquery.js 404 (Not Found) require.js:1880 
GET http://localhost:7153/App/plugins/history.js 404 (Not Found) require.js:1880 
GET http://localhost:7153/App/knockout.js 404 (Not Found) require.js:1880 

Я ЗАГРУЗКА JQuery и нокаута в комплекте (с помощью ASP.NET пакетирование) до загрузки требуется и начиная Дюрандаль:

@Scripts.Render("~/scripts/vendor") 
    @if(HttpContext.Current.IsDebuggingEnabled) { 
     <script type="text/javascript" src="~/Scripts/require.js" data-main="@Url.Content("~/App/main.js")"></script> 
    } else { 
     <script type="text/javascript" src="~/App/main-built.js"></script> 
    } 

Любая идея, как это исправить? Мне бы очень хотелось вернуться к Дюрандалу 1.2.

+0

Coud вы предоставляете main.js, где требуется настройка? – margabit

ответ

1

Рассмотрите, где требуется поиск файла. Если, например, http://localhost:7153/App/jquery.js вызывает 404, я предполагаю, что это потому, что файл находится не в этом месте.

RequireJS будет загружать ресурс на основе baseUrl, если он указан, в сочетании с любыми путями, которые настроены как часть любых вызовов require.config().

Посмотрите, можете ли вы найти, где jQuery указывается как зависимость от модуля define, или где он требуется. Я предполагаю, что его просто запрашивают как «jquery».

В этом случае вам потребуется указать, где находится jQuery. То же самое для нокаута. Для материала Durandal вам может потребоваться переместить всю папку durandal в какую-то конкретную, в зависимости от того, где вы находите файлы.

ваши требуйте конфигурационного вызов может выглядеть примерно так:

require.config({ 
    baseUrl: '/', 
    paths: { 
     'jquery': 'scripts/jquery', 
     'knockout': 'scripts/knockout-debug', 
     'durandal': 'scripts/durandal' 
    } 
}); 

Если возможно, проверьте образцы Дюрандальте на 2.0, и вы увидите require.config(), который используется в образцах, и вы можете сравнить, что к вашей структуре папок.

Смежные вопросы