Cod de eroare: 800A1391 Sursa: Eroare de execuție Microsoft JScript Rularea Grunt – Modulul este nedefinit (Programare, Node.Js)

JeffOnWire a intrebat.

Nou utilizator Grunt aici care folosește o mulțime de instrumente noi (npm nodejs) astăzi.

Am Grunt „instalat” și am reușit să creez un fișier grunt.js folosind sarcina init așa cum este descrisă aici: http://net.tutsplus.com/tutorials/javascript-ajax/meeting-grunt-the-build-tool-for-javascript/ și aici: https://github.com/cowboy/grunt/blob/master/docs/getting_started.md. Dar de fiecare dată când execut comanda „grunt” primesc o eroare:

Windows Script Host
Script: c:users[]Documentscodegruntgrunt.js
Line: 2
Char: 1
Error: 'module' is undefined
Code: 800A1391
Source: Microsoft JScript runtime error

9 răspunsuri
Florian F

După cum se explică în FAQ, trebuie să tastați grunt.cmd în schimb pe Windows, deoarece sistemul de operare încearcă să lanseze grunt.js

Sau poți instala în schimb grunt-cli la nivel global. Acest pachet va rula orice versiune de Grunt, dacă a fost instalat local în proiectul dvs.

Comentarii

  • Unde este grunt.cmd? Nu găsesc niciun fișier cu acest nume în întregul depozit Grunt. –  > Por Jonathan.
  • Nu pot găsi un grunt.cmd nicăieri în sistemul meu. Am găsit un director C:Documents and SettingsmyuseridApplication Data
    pm
    ode_modulesgrunt, dar nu există niciun grunt.cmd acolo, ci doar un grunt.js care pare să fie problema. –  > Por ThatAintWorking.
Lior Cris

SOLVED !!

Așadar, această problemă apare pentru că Windows în mod implicit asociativ < *.js > fileswith >> „Microsoft Windows Based Script Host”.

grunt trebuie să se deschidă în mod implicit cu (grunt.cmd).

este ușor de slove, prin schimbarea aplicației implicite (deschide cu..)


Ghid :

  1. Mergeți la orice fișier javascript cu extensia „js”. (orice fișier)

  2. Clic dreapta(mouse) > Proprietăți > „Se deschide cu:” Schimbă…(buton)

  3. Alegeți Notepad ( sau orice IDE javascript ).

PROBLEMĂ REZOLVATĂ ! :)mult noroc

Comentarii

  • Mulțumesc pentru împărtășire, aproape că am disperat pe această problemă. –  > Por BitSchupser.
ebohlman

Dacă primiți o „Microsoft JScript runtime error”, înseamnă că node.js nici măcar nu este invocat; în schimb, Windows Script Host încearcă să ruleze codul dvs. Aceasta este probabil o problemă cu asociațiile de tip de fișier; IIRC Windows încearcă în mod implicit să execute un fișier „.js” cu WSH. Este posibil să trebuiască să creați o comandă rapidă pentru scriptul dumneavoastră, specificând o linie de comandă (probabil ceva de genul „node %1”) și un director de pornire pentru a vă asigura că este executat corect.

Ar fi de ajutor dacă ați putea să ne spuneți exact cum încercați să vă invocați codul.

alternize

se pare că, în cele mai recente versiuni ale modulelor grunt, ar trebui să faceți următoarele pentru ca acesta să funcționeze sub Windows:

eliminați orice grunt instalat la nivel global

npm uninstall -g grunt

instalați grunt-cli la nivel global

npm install -g grunt-cli

instalați local grunt în proiectul dvs.

npm install grunt

instalarea grunt (v0.4.x) la nivel global nu pare să mai creeze grunt.cmd-ul necesar. se pare că recomandarea este acum să aveți grunt instalat local pentru a putea folosi Gruntfiles specifice versiunii.

johngeorgewright

După cum a sugerat Florian F, rularea grunt.cmd funcționează. Acest lucru se datorează procesului pe care Windows îl caută pentru a vă grunt comandă.

Atunci când tastați grunt -h Windows va proceda la căutarea următoarelor fișiere:

  1. ./grunt.cmd
  2. ./grunt.* (grunt.js este găsit în acest caz, motiv pentru care vedeți „module is undefined”)
  3. %APPDATA%/npm/grunt.cmd

O alternativă la utilizarea „grunt.cmd” este să folosiți grunter care pur și simplu redenumește comanda în grunter… atunci nu mai aveți această problemă.

Arjun

Pentru a răspunde la această întrebare, mai întâi trebuie să înțelegem că eroarea este cauzată de faptul că este executată de către Windows Script Host.

Acum, rulați codul de la dvs. cmd promt cu următoarea sintaxă:

>node <application_name>.js

acest lucru va permite aplicației Node.js să se deschidă prin motorul JavaScript V8(al Google).

P.S: Vă rugăm să răspundeți dacă acest lucru a ajutat la rezolvarea problemei dvs. altfel postați problema cu care vă confruntați după ce încercarea acest lucru.

Comentarii

  • Această întrebare este veche de 4 ani și a primit deja un răspuns bun. Poate doriți să luați în considerare ștergerea răspunsului dvs.  > Por James Jones.
  • @JamesJones oh…! atunci sunt fericit că problema a fost rezolvată… 🙂 Dar eu sunt întotdeauna gata să rezolv problemele pentru care știu soluții… -.  > Por Arjun.
Val

Am avut o problemă similară, problema este asocierea de fișiere, aș recomanda:

  • click dreapta pe un fișier .js și alegeți deschide cu.
  • apoi alegeți nodejs/node.exe (undeva în folderul „program files”
  • apoi bifați căsuța unde scrie „always open .js files ” (parafrazând)

Asta ar trebui să rezolve problema.

Vibhor Dube

Am trecut prin aceeași problemă atunci când am rulat un vechi proiect Node.

Problema a fost cu numele fișierului js, a fost node.js. Deci, în timp ce executați comanda node node.js, se deschidea o casetă de dialog Windows.

Tocmai am schimbat numele fișierului în app.js și eroarea a dispărut.

Gabriel Melendez

Deci, în cazul meu am încercat toate cele menționate mai sus fără niciun rezultat. dar am fond că im dont tip: node în propoziția completă ca următorul snipetnode script.js.și nu uitați să nu vă subestimați niciodată propriile greșeli de codare.

Comentarii

  • Nu este ceea ce a spus @Arjun mai sus? –  > Por Stanislas.
  • Am încercat toate primele, dar pur și simplu am făcut o greșeală în propoziția de consolă –  > Por Gabriel Melendez.

Tags: