运行基本Express项目时出错

Getting an error when running the basic Express project

本文关键字:出错 项目 Express 运行      更新时间:2023-09-26

我第一次摆弄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下创建了一个名为jade的文件夹,并将库文件移到了那里,现在我的默认应用程序就可以工作了。

现在,由于我几乎没有使用Node.js和Express的经验,我很确定我做错了什么。有人知道这里发生了什么吗?

编辑:

我进入了翡翠密码。在Jade的index.js文件下,它需要lib'jade,而在lib文件夹下查看,没有jade.js文件。这就是问题所在,但为什么jade.js文件不见了?当从npm中提取Jade源代码时,lib目录下有一个Jade.js文件。我从下载的源代码中复制了lib文件夹到我的项目的Jade模块中,现在它工作得很好。

因此,出于某种原因,npm没有删除jade.js文件。packages.json文件中的版本与我下拉的源0.21.0相匹配。有人知道为什么会发生这种事吗?

cd到您的express项目文件夹并运行"npm install",这将安装所有依赖项

对我来说,在windows上,jade 0.22.0版本修复了这个问题。

这可能与全局安装express(-g)有关,但npm install -d是在本地完成的。试着在全球范围内安装它们,或者按照我的意愿,在本地安装:

sudo npm uninstall express -g
npm install express
npm install jade (or npm install -d)

确实要确保所有模块require都是正确的。Javascript告诉你实际错误的地方非常有趣。试着去掉玉模板线,看看会发生什么。

我刚刚发现这个问题与jade模块的错误有关。看起来玉文件夹不是自动创建的(某种bug)。现在我通过重新安装翡翠解决了这个问题。之后,玉文件夹自动创建。使用npm卸载gulp-ed,然后再次安装gulp-ed