请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

如何运行express文件夹中的源码

运行node bin/www.js后出现如下错误,已经全局安装了express,也在当前目录下执行了npm install,可还是同样错误,百度找不到答案,请问老师应该怎么处理好
Cannot find module 'C:\codedemo\nodejs-myblog\code-demo\blog-express\bin\www.js’
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
at Function.Module._load (internal/modules/cjs/loader.js:562:25)
at Function.Module.runMain (internal/modules/cjs/loader.js:829:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)

正在回答 回答被采纳积分+3

3回答

提问者 慕设计9348276 2019-07-16 17:34:14

把源码中的require().default的default这个删掉即可,这个是不是因为es6的语法与express的冲突?

0 回复 有任何疑惑可以回复我~
  • 双越 #1
    课程中没有用 ES6 ,用的是 commonjs
    回复 有任何疑惑可以回复我~ 2019-07-16 19:34:27
提问者 慕设计9348276 2019-07-16 00:02:18


const redisClient = redis.createClient(REDIS_CONF.port, REDIS_CONF.host)

                                                  ^


TypeError: Cannot read property 'port' of undefined

为什么会有这个提示,明明已经对REDIS_CONF赋值了对象的啊。

0 回复 有任何疑惑可以回复我~
  • 双越 #1
    这个错误,是代码的错误,跟 npm 插件无关。错误提示很明显,REDIS_CONF 是 undefined ,以这个为入口你去排查一下。
    回复 有任何疑惑可以回复我~ 2019-07-16 08:58:59
  • 提问者 慕设计9348276 回复 双越 #2
    我就是不明白怎么回事undefine的,开头明明引入了啊,const {REDIS_CONF } = require('../conf/db.js'),我根据db.js的exports再改成const {MYSQL_CONF, REDIS_CONF } = require('../conf/db.js'),还是不行,明明在父级同目录级别conf下就有db.js啊
    回复 有任何疑惑可以回复我~ 2019-07-16 09:25:19
  • 双越 回复 提问者 慕设计9348276 #3
    不明白为何是 undefined ,那就去 debug 一下啊。看看 REDIS_CONF 一开始是哪里定义的,最后如何赋值的,这些代码是否都走到了,打个断点看一下。
    回复 有任何疑惑可以回复我~ 2019-07-16 10:48:16
双越 2019-07-15 19:07:00

npm install

npm run dev

这些应该在课程一开始搭建开发环境时就有演示啊,前面没看吗?

0 回复 有任何疑惑可以回复我~
  • 提问者 慕设计9348276 #1
    我是看了前面的视频的,也运行了npm install和npm run dev,但是我没有用npm单独安装redis和mysql,我的理解是npm install那里它应该自动把所有依赖安装上去的了,是否我的理解有错?因为我发觉错误提示里是说这两个功能的网址访问不到的,安装了mysql和redis后问题依旧
    回复 有任何疑惑可以回复我~ 2019-07-15 23:47:06
  • 双越 回复 提问者 慕设计9348276 #2
    运行 npm install 是全部插件都一起安装上,你不用自己单独安装 mysql 和 redis
    回复 有任何疑惑可以回复我~ 2019-07-16 08:57:58
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信