前提・実現したいこと
現在、Node.js, Vue.jsを用いてamazonサイトのクローンアプリを作成しております。
Node.jsでサーバーのロジックを実装し、サーバーを立ち上げた際に以下のエラーが発生しました。
発生している問題・エラーメッセージ
terminal
1[nodemon] 2.0.1 2[nodemon] to restart at any time, enter `rs` 3[nodemon] watching dir(s): *.* 4[nodemon] watching extensions: js,mjs,json 5[nodemon] starting `node server.js` 6Listening on PORT 3000 7{ MongoParseError: Invalid connection string 8 at parseConnectionString (/Users/user/amazon/server/node_modules/mongodb/lib/core/uri_parser.js:507:21) 9 at connect (/Users/user/amazon/server/node_modules/mongodb/lib/operations/connect.js:268:3) 10 at ConnectOperation.execute (/Users/user/amazon/server/node_modules/mongodb/lib/operations/connect.js:191:5) 11 at executeOperation (/Users/user/amazon/server/node_modules/mongodb/lib/operations/execute_operation.js:83:26) 12 at MongoClient.connect (/Users/user/amazon/server/node_modules/mongodb/lib/mongo_client.js:216:10) 13 at Promise (/Users/user/amazon/server/node_modules/mongoose/lib/connection.js:638:12) 14 at new Promise (<anonymous>) 15 at NativeConnection.Connection.openUri (/Users/user/amazon/server/node_modules/mongoose/lib/connection.js:635:19) 16 at Mongoose.connect (/Users/user/amazon/server/node_modules/mongoose/lib/index.js:328:15) 17 at Object.<anonymous> (/Users/user/amazon/server/server.js:11:10) 18 at Module._compile (internal/modules/cjs/loader.js:778:30) 19 at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) 20 at Module.load (internal/modules/cjs/loader.js:653:32) 21 at tryModuleLoad (internal/modules/cjs/loader.js:593:12) 22 at Function.Module._load (internal/modules/cjs/loader.js:585:3) 23 at Function.Module.runMain (internal/modules/cjs/loader.js:831:12) 24 name: 'MongoParseError', 25 [Symbol(mongoErrorContextSymbol)]: {} } 26
該当のソースコード
serverjs
1const express = require('express') 2const morgan = require('morgan') 3const bodyParser = require('body-parser') 4const mongoose = require('mongoose') 5const dotenv = require('dotenv') 6 7dotenv.config() 8 9const app = express(); 10 11mongoose.connect( 12 process.env.DATABASE, 13 { useNewUrlParser: true, useUnifiedTopology: true }, 14 err => { 15 if (err) { 16 console.log(err); 17 } else { 18 console.log('Connected to the database'); 19 } 20 } 21) 22 23// Middlewares 24app.use(morgan('dev')) 25app.use(bodyParser.json()) 26app.use(bodyParser.urlencoded({ extended: false })) 27 28// GET - Retrieve data from the server 29app.get('/', (req, res) => { 30 res.json('Hello amazon clone') 31}) 32 33// POST - send data from fronted to backend 34app.post('/', (req, res) => { 35 console.log(req.body.name); 36 37}) 38 39app.listen(3000, err => { 40 if(err) { 41 console.log(err); 42 } else { 43 console.log('Listening on PORT', 3000); 44 } 45}) 46
試したこと
こちらのサイトを参考に、npm i dotenvをコマンド入力、
server.jsにて
const dotenv = require('dotenv')
dotenv.config()
を実装し、改めてnodemon server.jsをコマンド入力しても解決には至りませんでした。
補足情報(package.json)
{
"name": "server.js",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo "Error: no test specified" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"body-parser": "^1.19.0",
"dotenv": "^8.2.0",
"express": "^4.17.1",
"mongodb": "^3.3.4",
"mongoose": "^5.7.12",
"morgan": "^1.9.1",
"npm": "^6.13.1"
}
}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/27 08:56
2019/11/27 09:26