Gulp-eslint генерирует ошибки на динамически загружаемых JS
У меня есть структура проекта, как
Есть около 10 файлов JS в com
, lab1
а также lab2
имеет config.json
файл, который сообщает, из 10 файлов, какие файлы должны быть объединены и размещены как app-min.js
в dist/lab1
или же dist/lab2
,
В файле gulp я создал что-то вроде этого.
var filesArr = [];
var labName;
// Player Task
gulp.task('player', function () {
return gulp.src(filesArr)
.pipe(eslint())
.pipe(babel())
.pipe(concat('app-min.js'))
.pipe(uglify({
compress: {
drop_console: true
}
}).on('error', gutil.log))
.pipe(gulp.dest('dist/' + labName));
});
// Clean
gulp.task('clean', function () {
if (readJson()) {
return del([
'dist/' + labName
]);
}
return null;
});
// Watch
gulp.task('watch', function () {
gulp.watch(filesArr, gulp.series('player'));
});
// Read Json and create JS Array
function readJson() {
// LAB STRUCTURE
var _n = prompt('Specify the LAB name. ');
labName = _n;
var _path = path.resolve('./src/' + _n);
var _exists = fs.existsSync(_path);
if (_exists) {
var _json = fs.readFileSync(path.resolve(_path + '/labstructure.json'), 'utf-8');
var _jObj = JSON.parse(_json).labObj.components;
for (var i = 0; i < _jObj.length; i++) {
var _jsName = 'src/com/component/' + _jObj[i].ref + '.js';
if (filesArr.indexOf(_jsName) === -1) {
filesArr.push(_jsName);
}
}
}
return _exists;
}
gulp.task('default', gulp.series('clean', 'player', 'watch'));
Здесь filesArr
похоже:
[ 'src/com/component/ColorActClass.js',
'src/com/component/PanelCompClass.js',
'src/com/component/ToggleCompClass.js',
'src/com/component/SliderCompClass.js',
'src/com/component/CheckBoxCompClass.js',
'src/com/component/ButtonCompClass.js',
'src/com/component/LabelCompClass.js',
'src/com/component/InputBoxClass.js',
'src/com/component/ColorMonitorClass.js',
'src/com/component/MsgBoxClass.js',
'src/com/component/ConfBoxClass.js',
'src/com/component/NumberPadClass.js',
'src/com/main/lib/webfontloader.js',
'src/com/main/lib/howler.core.min.js',
'src/com/main/PlayerClass.js',
'src/kl1001_color/BrainClass.js' ]
Это прекрасно работает в первую очередь. Но когда любой JS изменяется, то в watch
player
броски задач eslint
ошибка на некоторых файлах, которые остаются нетронутыми. Это происходит не всегда, а если часы работают в течение 10-20 минут, они выдают ошибку. Как это:
В этом случае CheckBoxCompClass.js
это не файл, который был изменен, но все же получил проблему. Кроме того, точка с запятой на месте. Если этот файл имеет проблемы, то eslint
должен был выбросить ошибку на первом месте.
Пожалуйста помоги.
1 ответ
Случайно, мой NVM был установлен на более старую версию. Решил проблему после обновления NVM и установки текущей версии NVM на последнюю.