2016-09-17 11 views
1

HTML starter kit pro для Дюрандала содержит следующую задачу черновую для оптимизации сборки:Оптимизация процесса сборки Дюрандаль в

durandal: { 
    main: { 
     src: ['app/**/*.*', 'lib/durandal/**/*.js'], 
     options: { 
      name: '../lib/require/almond-custom', 
      baseUrl: requireConfig.baseUrl, 
      mainPath: 'app/main', 
      paths: mixIn({}, requireConfig.paths, { 
       'almond': '../lib/require/almond-custom.js' 
      }), 
      exclude: [], 
      optimize: 'none', 
      out: 'build/app/main.js' 
     } 
    } 
} 

У меня есть некоторые опасения по этому поводу, которые мне нужна ваша помощь сортировки:

  1. Script избыточность файлов. Процесс сборки хранит папку lib со сценариями, такими как jQuery, bootstrap и т. Д. Почему? Если вы посмотрите на построенный build/app/main.js, он добавил все эти сценарии. Это приводит меня к следующему вопросу:

  2. Если я удаляю папку lib, все работает, за исключением того, что я получаю require is not defined в консоли. Код по-прежнему ищет lib/require/require.js, который можно решить, просто добавив его там. Однако, разве это не то, что такое almond? Он включен в файл build/app/main.js. Насколько мне известно, Almond - легкая замена, требующая использования в оптимизированных файлах.

Чтобы воспроизвести проблемы, вы можете просто запустить «Быстрый старт», указанный в ссылке вверху.

+0

может быть эта ссылка полезной для вас: http://stackoverflow.com/questions/15684040/durandal-optimizer-references-wrong-path-when-building-it-as-a-post-build-proces –

+0

Для ваша первая забота, вы попробовали свойство removeCombined: true? – nikhil

+0

@nikhil Да, похоже, это не имеет никакого эффекта, но – Johan

ответ

1

Да, вы правы, что main.js содержит все необходимое для запуска приложения. Причина, по которой вы получаете require is not defined, заключается в том, что если вы внимательно посмотрите файл index.html, вы увидите, что index.html ссылается на файл в папке /lib/require и загружает наш файл main.js через него. есть еще одна строка, расположенная ниже, что в index.html, которая прокомментирована, вы можете просто раскомментировать ее, и она должна просто работать, даже если вы удалите каталог lib.

Единственные ошибки, которые вы получите, удалив каталог /lib после расточительного расстройства <script src="app/main.js"></script> Строка и комментарий <script src="lib/require/require.js" data-main="app/main"></script>.

Надеюсь, это поможет.

+0

Довольно очевидно, когда вы думаете об этом. Спасибо за второй набор глаз! – Johan

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

  • Нет связанных вопросов^_^