首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >第一个node.js项目在连接mongodb时遇到问题

第一个node.js项目在连接mongodb时遇到问题
EN

Stack Overflow用户
提问于 2020-09-02 09:57:44
回答 1查看 66关注 0票数 0

这是我与node.js的第一个项目,我正处于将node.js与猫鼬和MongoDB连接起来的阶段。

我刚刚从mongodb安装了api,并在终端中键入"npm运行devstar"t,这是我得到的错误.

"PS C:\User\ryant\Desktop\lets旅行> npm运行devstart

lets旅行@0.0.0 devstart C:\Users\ryant\Desktop\lets旅行无恶魔。/bin/www

Nodemon2.0.4任何时候都要重新启动,输入rs nodemon监视路径:。无恶魔监视扩展: js,mjs,json

启动node ./bin/www C:\usr\ryant\Desktop\lets旅行\bin\www:1 npm/usr/bin/env ^

ReferenceError:未定义npm

代码语言:javascript
运行
复制
**at Object.<anonymous> (C:\Users\ryant\Desktop\lets-travel\bin\www:1:1)**    (this is the only line that is highlighted the rest are greyed out)

at Module._compile (internal/modules/cjs/loader.js:1251:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1272:10)
at Module.load (internal/modules/cjs/loader.js:1100:32)
at Function.Module._load (internal/modules/cjs/loader.js:962:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
at internal/main/run_main_module.js:17:47

nodemon应用程序崩溃--在启动之前等待文件更改.“

我猜这与api安装有关,因为我不能百分之百地肯定。

我知道这可能是一个愚蠢的问题,但社会人士可否列出一些我应该看看的事项呢?

谢谢大家抽出时间。

这是我的package.json

代码语言:javascript
运行
复制
{
  "name": "lets-travel",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "node ./bin/www",
    "devstart": "nodemon ./bin/www"
  },
  "dependencies": {
    "cookie-parser": "~1.4.4",
    "debug": "~2.6.9",
    "express": "~4.16.1",
    "http-errors": "~1.6.3",
    "mongodb": "^3.6.0",
    "mongoose": "^5.10.2",
    "morgan": "~1.9.1",
    "pug": "2.0.0-beta11"
  },
  "devDependencies": {
    "nodemon": "^2.0.4"
  }
}

这是我的app.js (去掉了api用户名和passowrd )

代码语言:javascript
运行
复制
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
const mongoose = require('mongoose');

var indexRouter = require('./routes/index');

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');

//Set up mongoose connection
mongoose.connect('mongodb:/@cluster0-shard-00-00.qlpe0.mongodb.net:27017,cluster0-shard-00-01.qlpe0.mongodb.net:27017,cluster0-shard-00-02.qlpe0.mongodb.net:27017/database?ssl=true&replicaSet=atlas-syg3pr-shard-0&authSource=admin&retryWrites=true&w=majority');
mongoose.Promise = global.Promise;
mongoose.connection.on('error', (error) => console.error(error.message) );

app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

app.use('/', indexRouter);

// catch 404 and forward to error handler
app.use(function(req, res, next) {
  next(createError(404));
});

// error handler
app.use(function(err, req, res, next) {
  // set locals, only providing error in development
  res.locals.message = err.message;
  res.locals.error = req.app.get('env') === 'development' ? err : {};

  // render the error page
  res.status(err.status || 500);
  res.render('error');
});

module.exports = app;

我还可以在评论中根据请求添加任何其他内容。

EN

回答 1

Stack Overflow用户

发布于 2020-09-02 10:04:29

根据错误说明,npm没有定义,看起来要么您没有安装npm/nodejs,要么您没有在env中设置路径。请将npm -v运行到终端/cmd以检查是否相同。

此外,只是一个快速的建议,不要粘贴您的连接字符串在任何论坛也直接在代码。要么保存在配置文件中,要么保存在env变量中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63703108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档