如何解决节点服务器错误,npm ERR!代码ELIFECYCLE npm ERR! errno 1?

时间:2020-05-30 18:57:39

标签: javascript node.js express npm

npm ERR!代码ELIFECYCLE npm ERR! errno 1 npm ERR! node-express@1.0.0开始:node server npm ERR!退出状态1 npm ERR! npm ERR!在node-express@1.0.0启动脚本处失败。 npm ERR! npm可能不是问题。上面可能还有其他日志记录输出。

npm ERR!可以在以下位置找到此运行的完整日志: npm ERR! /Users/teevee/.npm/_logs/2020-05-30T18_42_30_526Z-debug.log

在我必须为项目中的合作伙伴和促销添加路线之前,我没有任何问题。我不知道如何调试此类错误以进行所需的更改。可能是什么问题?我还在学习。这是链接:https://github.com/TanishaV842/node-express/tree/master/routes

2 个答案:

答案 0 :(得分:1)

您遇到的问题之一是您似乎在多个地方都包含了路由器的代码:

// server.js

app.use("/campsites", campsiteRouter);
app.use("/partners", partnerRouter);
app.use("/promotions", promotionRouter);

campsiteRouter.route("/campsites").all(...);
partnerRouter.route("/partners").all(...);
promotionsRouter.route("/promotions").all(...);

无需这样做,只需执行app.use("/campsites", campsiteRouter);并删除server.js中的路由器代码即可。


第二,您的routers内部的代码有两种错误:

// these are two different routes, so create a separate
// route for `/campsites/:campsiteId`,
// additionally, you don't want to do `/campsites/:campsiteId` 
// because you specified the `/campsite` route/portion inside of 
// your `server.js` file when you did 
// `app.use("/campsites", campsiteRouter)`, so only use `/:campsiteId`

// WRONG
campsiteRouter
  .route("/campsites")
  .all(...)
  .get("/campsites/:campsiteId", ...)

// CORRECT
campsiteRouter
  .route("/:campsiteId")
  .all(...)
  .get((req, res) => {
    console.log(req.params.campsiteId);
  })
  .post(...);

这是您的固定代码:

希望这会有所帮助。

答案 1 :(得分:0)

似乎您正在将常规router.get()router.route().get()方法参数混合在一起。

由于您使用的是router.route()方法,因此您:

.get() .post() .delete()

调用不能传递字符串和回调。它们只是一个回调函数。

要修复,

更改所有router.route(...).get('<path>', (req, res) => {})

类似于:

router.route(...).get((req, res) => {})

没有路径参数。