【发布时间】:2012-04-03 00:04:10
【问题描述】:
我第一次接触 Node.js,并决定使用 express 创建一个简单的应用程序。我在一个空目录中按照github 的说明进行操作,如下所示:
npm install -g express
express
npm install -d
node app.js
导航到localhost:3000 时出现以下错误:
Express
500 Error: Cannot find module './lib/jade'
at Function._resolveFilename (module.js:332:11)
at Function._load (module.js:279:25)
at Module.require (module.js:354:17)
at require (module.js:370:17)
at Object. (C:\dev\gravity_kata\node_modules\jade\index.js:4:5)
at Module._compile (module.js:441:26)
at Object..js (module.js:459:10)
at Module.load (module.js:348:31)
at Function._load (module.js:308:12)
at Module.require (module.js:354:17)
在node_modules\jade\lib 下查看时,我看到了 Jade 的所有库文件,但没有看到 jade 文件夹。所以我在 lib 下创建了一个名为 jam 的文件夹并将库文件移到那里,现在我的默认应用程序可以工作了。
现在,鉴于我几乎没有使用 Node.js 和 Express 的经验,我很确定我做错了什么。有人知道这里发生了什么吗?
编辑:
我深入研究了 Jade 代码。在 Jade 的 index.js 文件下,它需要 lib\jade 并在 lib 文件夹下查看,没有 jade.js 文件。好吧,这就是问题所在,但是为什么缺少jade.js 文件呢?从npm拉取Jadesource时,lib目录下有一个jade.js文件。我将下载源中的 lib 文件夹复制到我的项目的 Jade 模块中,现在它可以正常工作了。
因此,出于某种原因,npm 没有拉下 jam.js 文件。 packages.json 文件中的版本与我下载的源 0.21.0 匹配。有人知道为什么会这样吗?
【问题讨论】:
-
好像是玉器或者快递的问题。尝试深入研究代码...
-
我在深入研究代码后编辑了我的回复。
-
从源代码下载和提取对我有用。感谢您指出丢失的文件。一定是 NPM/Jade 的错误。
标签: javascript node.js express pug