Здравствуйте!
Такая ситуация.
Есть библиотечка, состоящая из модулей. Каждый модуль определяется примерно так:
MyLib.defineModule("nameModule", ["deps1", "deps2"], function () {
// Конструктор модуля
});
Всё это с помощью grunt'а собирается, минифицируется, линтится, тестируется... Вобщем, всё, как у белых людей.
Но, модуль может содержать достаточно объёмный код с большим количеством вложенных блоков. Хочется разбить файл на куски.
Можно тупо разбить на части и собирать через grunt-concat. Как, например,
QUnit.
Но,
1. Разбивать так на части, как-то не кошерно, плюс появляются невалидные файлы, вроде:
/* Начало файла */
(function(global, undefined) {
и
)(function () {return this;});
/* Конец */
Хотелось бы какой-нибудь шаблон, с подключением модулей в нужных местах:
MyLib.defineModule("nameModule", ["deps1", "deps2"], function () {
// #include "vars.js" - глобальное определение переменных
// #include "part1.js"
// #include "part2.js"
});
2. Хочется, чтобы по исходникам можно было проходить jshint'ом, IDE на них не ругалась и автодополнение работало.
3. Нужна возможность быстро запускать тесты.
Собственно, вопросы:
- Есть, кто занимался подобным и как ощущения?
- Нет ли в grunt'е готового плагина? Не нашел.
- Какие есть идеи, как это линтить? Собирать и проверять готовый, не очень хорошо - показываются номера строк из собранного файла, ищи потом их в исходниках.
- Или забить на это?