不知道你是否和我有一样的困惑,明明用npm install express已经安装好了express,但是运行的时候就仍然报错Cannot find module ‘express’,此时的你一定很困惑,我明明已经安装了express怎么还运行不了,于是你在CSDN或者百度上搜索解决办法,发现 最新express4.0+版本中将命令工具分家出来了(项目地址:https://github.com/expressjs/generator),所以我们还需要安装一个命令工具,命令如下:
npm install -g express-generator
于是你安装了之后运行发现还是不行,仍然报错,此时的你心情一定很糟糕。于是你可能去到express官网,按照官网的入门教程:
1、首先假定你已经安装了 Node.js,接下来为你的应用创建一个目录,然后进入此目录并将其作为当前工作目录。
$ mkdir myapp
$ cd myapp
2、通过 npm init 命令为你的应用创建一个 package.json 文件。 欲了解 package.json 是如何起作用的,请参考 Specifics of npm’s package.json handling.
$ npm init
此命令将要求你输入几个参数,例如此应用的名称和版本。 你可以直接按“回车”键接受大部分默认设置即可,下面这个除外:
entry point: (index.js)
3、键入 app.js 或者你所希望的名称,这是当前应用的入口文件。如果你希望采用默认的 index.js 文件名,只需按“回车”键即可。
接下来在 myapp 目录下安装 Express 并将其保存到依赖列表中。如下:
$ npm install express --save
如果只是临时安装 Express,不想将它添加到依赖列表中,可执行如下命令:
$ npm install express --no-save
4、在app.js中写下如下代码
const express = require('express')
const app = express()
const port = 3000
app.get('/', (req, res) => res.send('Hello World!'))
app.listen(port, () => console.log(`Example app listening on port ${port}!`))
5、在vscode终端node app.js
然后发现还是不行,此时的你心想这什么垃圾官网。
不要灰心,这里有我的一个解决办法。因为我当时是这样
没有文件,无法加载,于是我手动在package.json中添加
"dependencies": {
"express": "^4.17.1"
},
之后运行npm install之后就有了node_modules
再次运行node index.js,就好了
当然我的这种情况可能是个例,因为我不是很熟悉node、npm,所以刚开始就没有node_modules。
最后希望我写的这篇debug文章对你有所帮助,以后我会写更多的debug文章。