Код ошибки: 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).

ПРОБЛЕМА РЕШЕННАЯ!:) удачи