Okky Okky - 2 months ago 17
Jade Question

Error: Cannot find module 'jade~'

Im new to node js. I used Compound Js to create a crud operation.

The app was working fine till i tried to alert a value, after that I'm getting the error

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)


How to resolve this

My index

#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')

Answer

The issue was with Fedora-16 that i was working on. The temp file created while editing ie., 'index.jade~' was not cleared and thus the issue came.

The issue can be resolved in Fedora-16 by either deleting the temp file 'index.jade~' or by renaming the node module 'jade' to 'jade~'