如何在我的应用程序上启用jade?

时间:2013-10-06 18:10:19

标签: node.js express pug

我正在尝试关注此Post

我的server.js就像这样

var express = require('express'); 
var app = express();
var jade = require('jade');

我收到此错误

module.js:340
    throw err;
          ^
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 Object.<anonymous> (/var/www/server.js:3:12)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.runMain (module.js:497:10)

但是当我这样做时

try {
jade = require('jade');
} catch (err) {
var jade = require('/usr/local/lib/node_modules/jade/bin/jade');
}

我可以启动引擎,但当我进入网站时,我看到了

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 (/var/www/node_modules/express/lib/view.js:43:49)
    at Function.app.render (/var/www/node_modules/express/lib/application.js:488:12)
    at ServerResponse.res.render (/var/www/node_modules/express/lib/response.js:798:7)
    at io.sockets.on.socket.on.socket.get.data.message (/var/www/server.js:18:7)
    at callbacks (/var/www/node_modules/express/lib/router/index.js:164:37)
    at param (/var/www/node_modules/express/lib/router/index.js:138:11)

我尝试使用nmp install -g jadenpm install jade --global

安装jade

但没有......任何想法我做错了什么?我已经在这里和其他网站检查了其他帖子,但没有结果

- 编辑 -

当我创建npm install jade --global时我得到了这个(在一些http GET和http 304之前,所有看起来都很好,没有警告或错误)

/usr/local/bin/jade -> /usr/local/lib/node_modules/jade/bin/jade
jade@0.35.0 /usr/local/lib/node_modules/jade
âââ character-parser@1.2.0
âââ commander@2.0.0
âââ mkdirp@0.3.5
âââ transformers@2.1.0 (promise@2.0.0, css@1.0.8, uglify-js@2.2.5)
âââ with@1.1.1 (uglify-js@2.4.0)
âââ monocle@1.1.50 (readdirp@0.2.5)
âââ constantinople@1.0.2 (uglify-js@2.4.0)

1 个答案:

答案 0 :(得分:1)

也许Node的全局安装路径实际上并不在您的系统路径中。第二种情况下的错误可能是Express这样的辅助模块也试图要求使用jade。

尝试本地安装:假设jade位于package.json中(默认情况下,如果您使用express命令生成骨架),请在项目根目录中运行:

npm install -d

此标志安装依赖项