这是我与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
**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
{
"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 )
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;
我还可以在评论中根据请求添加任何其他内容。
发布于 2020-09-02 10:04:29
根据错误说明,npm没有定义,看起来要么您没有安装npm/nodejs,要么您没有在env中设置路径。请将npm -v
运行到终端/cmd以检查是否相同。
此外,只是一个快速的建议,不要粘贴您的连接字符串在任何论坛也直接在代码。要么保存在配置文件中,要么保存在env变量中。
https://stackoverflow.com/questions/63703108
复制相似问题