Почему grunt.loadNpmTask('grunt-contrib-jshint') вызывает ошибку в Sails.js?
Это кажется довольно простым, но я не могу отладить эту ошибку. Я добавил этот код в свой Sails API как /tasks/config/jshint.js
module.exports = function(grunt) {
console.log(1);
grunt.config.set('jshint', {
files: {
src: ['api/services/*.js', 'api/policies/*.js', 'api/controllers/*.js']
}
});
console.log(2);
grunt.loadNpmTask('grunt-contrib-jshint');
console.log(3);
};
Теперь, когда я выполняю любую задачу, я получаю сообщение об ошибке (но старые задачи все еще успешно выполняются).
C:\dev\fo-rest-api>grunt aglio
1
2
Loading "Gruntfile.js" tasks...ERROR
>> TypeError: undefined is not a function
Running "aglio:your_target" (aglio) task
...
Done, without errors.
Когда я запускаю задачу jshint, я получаю ту же ошибку загрузки, и задача отменяется.
C:\dev\fo-rest-api>grunt jshint
1
2
Loading "Gruntfile.js" tasks...ERROR
>> TypeError: undefined is not a function
Warning: Task "jshint" not found. Use --force to continue.
Aborted due to warnings.
C:\dev\fo-rest-api>
Несколько других заметок:
- С помощью
--force
только изменяет формулировку сообщения об ошибке. - grunt-contrib-jshint, кажется, успешно установлен в / node_modules (я все удалил и перезапустил
npm install
чтобы быть уверенным. - Я запускаю это на Windows, если это имеет значение. Я попытался открыть командную строку как обычный пользователь и как администратор.
- Я пытался закомментировать
loadNpmTask
строка, чтобы увидеть, загрузит ли паруса это автоматически, но все еще получилWarning: Task "jshint" not found.
Спасибо за любые подсказки, которые вы могли бы иметь.
1 ответ
Ответ был довольно простым. Я как-то удалил s
в конце grunt.loadNpmTasks
, Когда я добавил его обратно, все работало хорошо.
Хотелось бы, чтобы была какая-то подсветка синтаксиса для общих пакетов, таких как grunt, которые бы идентифицировали этот тип опечатки...