6

Я потратил слишком много времени на это. Прошу вас, ребята, помочь здесь.Grunt требует не создавать несколько модулей, как ожидалось

У меня есть структура как

  • приложение
    • скрипты
      • ЛИЭС
        • jquery.js
        • bootstrap.js
        • moment.js
      • app.js
      • vendor.js
      • common.js
      • app.config.js
      • main.js #require CONFIG

Примечание vendor.js - это всего лишь файл, который включает все файлы под libs. Ex

//vendor.js define(['jquery','bootstrap', 'moment'], function(){});

Просто перечислить зависимостей:

  • app.js зависит common.js и app.config.js
  • common.js зависит vendor.js
  • app.config.js зависит от moment.js

То, что я пытаюсь TODO запускается черновая requirejs команды, чтобы создать vendor.js файл со всеми файлами под libs/ и app.js с остальными файлами, не включенными в vendor.js

Вот что мои варианты requirejs выглядит

module.exports = function (grunt) { 
'use strict'; 
var config = { 
    dist: { 
     options: { 
      appDir: 'app/', 
      baseUrl: './scripts', 
      mainConfigFile: 'app/scripts/main.js', 
      dir: 'dist/scripts/', 
      modules: [ 
       { name: 'vendor'}, 
       { name: 'app', exclude: ['vendor'] } 
      ] 
     } 
    } 
}; 
grunt.config('requirejs', config); 

};

Что я получаю от работы выше, является следующей build.txt

scripts/vendor.js 
---------------- 
scripts/libs/jquery.js 
scripts/libs/bootstrap.js 
scripts/libs/moment.js 
scripts/app.js 
scripts/vendor.js 
scripts/common.js 
scripts/app.config.js 

scripts/app.js 
---------------- 

Как вы можете видеть все файлы просто добавляются к vendor.js и не app.js. Я бы хотел, чтобы vendor.js включил vendor.js и его зависимости. И app.js включить остальные с vendor не входит в стоимость.

Любая помощь или подсказка будут очень признательны. Я пробовал множество комбинаций и все еще ного здесь.

+0

Просто интересно, почему вы используете хрюканье, а не глоток или webpack? Кроме того, почему вы не используете более часто используемые структуры для файлов grunt? – Pytth

+0

@Pytth уже существующий код, структура, которую я мог бы изменить, но я предпочел бы, чтобы это работало с минимальными изменениями, прежде чем я обновляю что-либо важное. Цените человека комментария. – dchhetri

+0

Np man! это то, что весь ваш файл grunt? – Pytth

ответ

1

Обнаружена проблема!Проблема заключалась в том, что мой файл конфигурации требует, чтобы он загружался в задачу require. Необходимый конфигурационный файл имел код deps: ['app'], который противоречил при попытке разделить на модули, поскольку, как только требуется, чтобы конфигурация была подключена к задаче require Grid, она воспринимала приложение как необходимую зависимость, а это означало, что приложение и все его файлы были помечены как зависимые и, таким образом, включен в первый файл модуля.