Код ошибки: 800A1391 Источник: ошибка выполнения Microsoft JScript Запуск Grunt - модуль undefined
Новый пользователь Grunt, который сегодня использует множество новых инструментов (npm nodejs).
У меня установлен "Grunt" Grunt и удалось создать файл grunt.js с помощью задачи init, как описано здесь: http://net.tutsplus.com/tutorials/javascript-ajax/meeting-grunt-the-build-tool-for-javascript/ и здесь: https://github.com/cowboy/grunt/blob/master/docs/getting_started.md. Но всякий раз, когда я запускаю команду "grunt", я получаю сообщение об ошибке:
Windows Script Host
Script: c:\users\[]\Documents\code\grunt\grunt.js
Line: 2
Char: 1
Error: 'module' is undefined
Code: 800A1391
Source: Microsoft JScript runtime error
Ответы
Ответ 1
Как объяснено в FAQ, вам нужно ввести grunt.cmd
вместо этого в Windows, потому что ОС пытается запустить grunt.js
Или вы можете установить grunt-cli во всем мире. Этот пакет будет запускать любую версию Grunt, если она была установлена локально в ваш проект.
Ответ 2
кажется, что в последних версиях модулей grunt вам нужно будет сделать следующее, чтобы оно работало под окнами:
удалить любой глобально установленный grunt
npm uninstall -g grunt
установить grunt-cli глобально
npm install -g grunt-cli
установить grunt локально в свой проект
npm install grunt
установка grunt (v0.4.x) во всем мире, похоже, больше не создает необходимый grunt.cmd. кажется, что теперь рекомендация заключается в том, чтобы установить grunt локально, чтобы иметь возможность использовать Gruntfiles для версии
Ответ 3
Если вы получаете "ошибку времени выполнения Microsoft JScript", это означает, что node.js даже не вызывается; вместо этого Windows Script Хост пытается запустить ваш код. Вероятно, это проблема с ассоциациями типов файлов; IIRC Windows по умолчанию пытается выполнить файл .js с WSH. Вам может потребоваться создать ярлык для вашего script, указав командную строку (возможно, что-то вроде "node% 1" ) и стартовый каталог, чтобы убедиться, что он выполнен правильно.
Это поможет, если вы точно расскажете нам, как вы пытаетесь вызвать свой код.
Ответ 4
Как предложил Флориан Ф., работает grunt.cmd. Это связано с тем, что Windows ищет вашу команду grunt
.
При вводе grunt -h
Windows продолжит поиск следующих файлов:
- ./grunt.cmd
- ./grunt. * (В этом случае найдено grunt.js, поэтому вы видите, что модуль undefined ")
- % APPDATA%/НМП/grunt.cmd
Альтернативой использованию "grunt.cmd" является использование grunter, который просто переименовывает команду, чтобы grunter... тогда вы не дольше эта проблема.
Ответ 5
У меня была аналогичная проблема, проблема связана с ассоциацией файлов, я бы рекомендовал:
- щелкните правой кнопкой мыши на .js файле и выберите "Открыть" с помощью.
- то вы выбираете nodejs/ node.exe(где-то в папке "программные файлы"
- затем сделайте галочку, в которой говорится: "Всегда открывайте .js файлы" (перефразируя)
Это должно сделать трюк.
Ответ 6
Чтобы ответить на этот вопрос, сначала нам нужно понять, что ошибка вызвана тем, что она выполняется Windows Script Host.
Теперь запустите код из cmd promt с помощью следующего синтаксиса:
>node <application_name>.js
это позволит приложению Node.js открываться через движок JavaScript V8 (Google).
P.S: Пожалуйста, ответьте назад, если это помогло вам в решении вашей проблемы, добавьте проблему, с которой вы столкнулись после try.
Ответ 7
РЕШЕННЫЙ!!
Таким образом, эта проблема возникает из-за того, что окна по умолчанию являются ассоциативными < *. js > файлы
с → "Microsoft Windows на основе Script Host".
grunt необходимо открыть по умолчанию с помощью (grunt.cmd).
это легко для slove, изменив приложение по умолчанию (открыть с..)
Руководство:
-
Перейдите в любой файл javascript с расширением js. (любой файл)
-
Щелкните правой кнопкой мыши (мышь) > "Свойства" > "Открывается с:" Изменить... (кнопка)
-
Выберите "Блокнот" (или любую IDE).
ПРОБЛЕМА РЕШЕННАЯ!:)
удачи