2013-03-08 59 views
5

Im nuovo al nodo js. Ho usato Compound Js per creare un'operazione cruda.Errore: impossibile trovare il modulo 'jade ~'

L'applicazione stava lavorando bene finché non ho provato ad avvertire un valore, dopo che sto ricevendo l'errore

500 Error: Cannot find module 'jade~' 
at Function.Module._resolveFilename (module.js:338:15) 
at Function.Module._load (module.js:280:25) 
at Module.require (module.js:362:17) 
at require (module.js:378:17) 

Come risolvere questo

mio indice

#tabs 
    ul 
    li 
     a(href='#tabs-1') New Leave 
    li 
     a(href='#tabs-2') Index of Leave 
    #tabs-1 
    .page-header 
     h1 New employee 

    - var form = formFor(employee, {action: pathTo.employees(), method: 'POST', id: "employee_form", class: 'form-horizontal'}) 

    != form.begin() 
    != errorMessagesFor(employee) 
    .control-group 
     != form.label("code", false, {class: "control-label"}) 
     .controls 
     != form.input("code") 
    .control-group 
    != form.label("description", false, {class: "control-label"}) 
     .controls 
     != form.input("description") 
    .control-group 
     != form.label("applicable", false, {class: "control-label"}) 
     .controls 
     != form.input("applicable") 
    .control-group 
     != form.label("cForward", false, {class: "control-label"}) 
     .controls 
     != form.checkbox("cForward") 
    .control-group 
     != form.label("limit", false, {class: "control-label"}) 
     .controls 
     != form.checkbox("limit") 
    .control-group 
     != form.label("lop", false, {class: "control-label"}) 
     .controls 
     != form.checkbox("lop") 
    .control-group 
     != form.label("od", false, {class: "control-label"}) 
     .controls 
     != form.checkbox("od") 
    .control-group 
     != form.label("co", false, {class: "control-label"}) 
     .controls 
     != form.checkbox("co") 
    .control-group 
     != form.label("lrevision", false, {class: "control-label"}) 
     .controls 
     != form.checkbox("lrevision") 
    .control-group 
     != form.label("active", false, {class: "control-label"}) 
     .controls 
     != form.checkbox("active") 
    .form-actions 
     != form.submit('<i class="icon-ok icon-white"></i> Create employee', {class: 'btn btn-primary'}) 
     span= ' or ' 
     != linkTo('Cancel', pathTo.employees(), {class: 'btn'}) 
    != form.end() 
    #tabs-2 
    .page-header 
     h1 Index of employees 


    .row 
     .span12 
     p 
      != linkTo('<i class="icon-plus icon-white"></i> New employee', path_to.new_employee(), {class: 'btn btn-primary'}) 

    - if (employees.length) { 
    .row 
     .span12 
     table.table.table-striped 
      thead 
      tr 
       th ID 
       th.span3 Actions 
      tbody 
      - employees.forEach(function (employee) { 
      tr 
       td 
       != linkTo('employee #' + employee.id, path_to.employee(employee)) 
       td 
       != linkTo('<i class="icon-edit"></i> Edit', pathTo.edit_employee(employee), {class: 'btn btn-mini'}) + ' ' 
       != linkTo('<i class="icon-remove icon-white"></i> Delete', pathTo.employee(employee), {class: 'btn btn-mini btn-danger', method: 'delete', remote: true, jsonp: '(function (u) {location.href = u;})'}) 
      - }); 
    - } else{ 
    .row 
     .span12 
     p.alert.alert-block.alert-info 
      strong No employees were found. 
    - } 

layout file

!!! 5 
html 
    head 
    title= title 
    != stylesheetLinkTag('http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/themes/base/jquery-ui.css', 'bootstrap', 'application', 'bootstrap-responsive') 
    != javascriptIncludeTag('https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/jquery-ui.js', 'rails', 'application') 
    script 
     $(document).ready(function() { 
     $("#tabs").tabs(); 
     }); 
    != csrfMetaTag() 
    body 
    .navbar 
     .navbar-inner 
      .container 
       a.brand(href='#') Project name 

    .container 
     - var flash = request.flash('info').pop(); if (flash) { 
     .alert.alert-info= flash 
     - } 

     - flash = request.flash('error').pop(); if (flash) { 
     .alert.alert-error= flash 
     - } 

     != body 

     hr 
     footer 
     p © Company 2012 
    != contentFor('javascripts') 

risposta

4

The issue was with Fedora-16 a cui stavo lavorando. Il file temporaneo creato durante la modifica ie., 'Index.jade ~' non è stato cancellato e quindi il problema è arrivato.

Il problema può essere risolto in Fedora-16 da una cancellando il file temporaneo 'index.jade ~' o rinominando il modulo nodo 'giada' a 'giada ~'

1

Uh, quasi certamente hai require('jade~') con un semplice errore di battitura in cui vuoi solo require('jade'). Controlla la tua linea espressa app.engine('jade') come un altro probabile sospetto.

+0

quale file controllare? – Okky

+0

L'app funzionava correttamente fino a quando non ho aggiunto un avviso. – Okky

+1

Probabilmente hai chiamato il tuo file 'server.js' o' app.js'. Le prove disponibili limitate indicano FORTEMENTE in un errore di battitura molto semplice e basilare. Cerca i tuoi file per 'jade ~' e aggiustalo, poi continua con la tua vita. Pensi che funzionasse fino a quando non hai aggiunto un avviso, ma sei sicuramente fuorviato. Non è presente alcun avviso in node.js e ciò che accade nel browser non causerà il mancato rilevamento del modulo jade da parte del nodo. –

17

ho abbastanza lo stesso problema ma "Impossibile trovare il modulo 'jade'", non "jade ~"; e sono abbastanza sicuro di aver già fatto "npm install jade". Dopo un po 'di ricerche, ho scoperto che il mio problema perché installo globalmente express mentre jade è installato localmente, con riferimento a questo aiuto https://www.openshift.com/forums/express/nodejs-and-jade-error-cannot-find-module-jade ho risolto il mio problema .. lo postò qui pensando che potrebbe aiutare alcuni altri che affrontano lo stesso problema di me :)

9

Per me questo era il problema si è rivelato essere diverso. Avevo installato giada ed espresso sia localmente che globalmente nella speranza che si trovassero l'un l'altro in qualche modo, ma esprimevano ancora lamentarsi della giada.

mio errore si presentava così:

Express server listening on port 3000 
Error: Cannot find module 'jade' 
    at Function.Module._resolveFilename (module.js:338:15) 
    at Function.Module._load (module.js:280:25) 
    at Module.require (module.js:364:17) 
    at require (module.js:380:17) 
    at new View (/Users/ajeetganga/node_modules/express/lib/view.js:43:49) 
    at Function.app.render (/Users/ajeetganga/node_modules/express/lib/application.js:488:12) 
    at ServerResponse.res.render (/Users/ajeetganga/node_modules/express/lib/response.js:798:7) 
    at exports.index (/Users/ajeetganga/Documents/WORKSPACE/TinyUrl/MyTinyUrl2/routes/index.js:7:7) 
    at callbacks (/Users/ajeetganga/node_modules/express/lib/router/index.js:164:37) 
    at param (/Users/ajeetganga/node_modules/express/lib/router/index.js:138:11) 

se si osserva questa linea:

at new View (/Users/ajeetganga/node_modules/express/lib/view.js:43:49) 

vedrete che non è la posizione predefinita per l'installazione NPM per il mondiale o locale .. Così come un lavoro, ho installato giada nella seguente cartella

cd /Users/ajeetganga/node_modules/ 
npm install jade 

I penso che avrebbe funzionato anche se avessi installato giada dalla cartella/Users/ajeetganga/ma mai provato. :)

+0

Ho avuto la stessa traccia dello stack degli errori durante la creazione manuale del progetto Express e in esecuzione su eclipse. Ho installato la giada come hai suggerito alla radice del progetto, ha funzionato. – Venkat

1

Ho avuto lo stesso problema dopo aver modificato un file di giada con Emacs. La soluzione è abbastanza semplice: trova il file jade ~ ed eliminalo.

18

Ho avuto lo stesso problema nel tutorial di nodeschool expressworks. Ho risolto inserendo le dipendenze in package.json:

npm installare --save esprimere giada

+0

Questo mi ha aiutato. Dopo aver letto, mi sono reso conto che avevo in qualche modo cancellato il modulo jade dal package.json del mio progetto, ed è per questo che non è stato trovato. Aggiunti di nuovo, ha fatto l'aggiornamento di npm e tutto ha funzionato. – bearvarine

+0

Mi ha aiutato anche io :) – AnNaMaLaI

+0

Grazie per questo. Stavo usando Team Treehouse per imparare Node.js e avevano un'intera sezione su Jade (ora ribattezzata Pug) e hanno fatto un sacco di iterazioni cercando di farlo funzionare. Lezione appresa. –

0

ho avuto lo stesso problema (giada-loader nel mio progetto webpack dattiloscritto +). Ho risolto il problema installando il jade-loader come peer-dependency.

Problemi correlati