teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

解決

2018/04/25 20:19

投稿

Nippun
Nippun

スコア1147

title CHANGED
File without changes
body CHANGED
@@ -3,95 +3,6 @@
3
3
  .envから参照する前はエラーは出ませんでした。
4
4
  [dotenv](https://www.npmjs.com/package/dotenv)
5
5
 
6
- app.js
7
- ``` javascript
8
- require('./db/db');
9
- require('dotenv').config();
10
-
11
- const createError = require('http-errors');
12
- const express = require('express');
13
- const path = require('path');
14
- const cookieParser = require('cookie-parser');
15
- const logger = require('morgan');
16
- const mongoose = require('mongoose');
17
- const flash = require('connect-flash');
18
- const methodOverride = require('method-override');
19
- const session = require('express-session');
20
- const csrf = require('csurf');
21
- const bodyParser = require('body-parser');
22
- const MongoStore = require('connect-mongo')(session);
23
-
24
-
25
- const indexRouter = require('./routes/index');
26
- const usersRouter = require('./routes/users');
27
-
28
- const app = express();
29
-
30
- // view engine setup
31
- app.set('views', path.join(__dirname, 'views'));
32
- app.set('view engine', 'ejs');
33
-
34
- app.use(logger('dev'));
35
- app.use(express.json());
36
- app.use(express.urlencoded({ extended: false }));
37
- app.use(cookieParser());
38
- app.use(express.static(path.join(__dirname, 'public')));
39
- app.use(bodyParser.json());
40
- app.use(express.urlencoded({ extended: false }));
41
-
42
-
43
- mongoose.connect(process.env.DB_URL, function (err){
44
- if(err){
45
- console.error('error');
46
- }
47
- });
48
-
49
-
50
- app.use('/users', usersRouter).
51
- app.use(methodOverride(function(req){
52
- if( req.body && typeof req.body === 'object' && '_method' in req.body ){
53
- const method = req.body._method;
54
- delete req.body._method;
55
- return method;
56
- }
57
- }));
58
-
59
- app.use(session({
60
- secret: process.env.SESSION_SECRET,
61
- resave: false,
62
- saveUninitialized: false,
63
- }));
64
- app.use(csrf({cookie: true}));
65
- app.use(flash());
66
- ////////////////////////////////////
67
-
68
-
69
- app.use('/', indexRouter);
70
- app.use('/users', usersRouter);
71
- app.use('/', express.static(path.join(__dirname, 'chat')));
72
- app.listen(process.env.PORT || 1000);
73
-
74
-
75
- // catch 404 and forward to error handler
76
- app.use(function(req, res, next) {
77
- next(createError(404));
78
- });
79
-
80
- // error handler
81
- app.use(function(err, req, res, next) {
82
- // set locals, only providing error in development
83
- res.locals.message = err.message;
84
- res.locals.error = req.app.get('env') === 'development' ? err : {};
85
-
86
- // render the error page
87
- res.status(err.status || 500);
88
- res.render('error');
89
- });
90
-
91
- module.exports = app;
92
-
93
- ```
94
-
95
6
  .env
96
7
  ```
97
8
  SESSION_KEY = abcd

2

app.js変更

2018/04/25 20:19

投稿

Nippun
Nippun

スコア1147

title CHANGED
File without changes
body CHANGED
@@ -5,12 +5,91 @@
5
5
 
6
6
  app.js
7
7
  ``` javascript
8
+ require('./db/db');
9
+ require('dotenv').config();
10
+
11
+ const createError = require('http-errors');
12
+ const express = require('express');
13
+ const path = require('path');
14
+ const cookieParser = require('cookie-parser');
15
+ const logger = require('morgan');
16
+ const mongoose = require('mongoose');
17
+ const flash = require('connect-flash');
18
+ const methodOverride = require('method-override');
19
+ const session = require('express-session');
20
+ const csrf = require('csurf');
21
+ const bodyParser = require('body-parser');
22
+ const MongoStore = require('connect-mongo')(session);
23
+
24
+
25
+ const indexRouter = require('./routes/index');
26
+ const usersRouter = require('./routes/users');
27
+
28
+ const app = express();
29
+
30
+ // view engine setup
31
+ app.set('views', path.join(__dirname, 'views'));
32
+ app.set('view engine', 'ejs');
33
+
34
+ app.use(logger('dev'));
35
+ app.use(express.json());
36
+ app.use(express.urlencoded({ extended: false }));
37
+ app.use(cookieParser());
38
+ app.use(express.static(path.join(__dirname, 'public')));
39
+ app.use(bodyParser.json());
40
+ app.use(express.urlencoded({ extended: false }));
41
+
42
+
43
+ mongoose.connect(process.env.DB_URL, function (err){
44
+ if(err){
45
+ console.error('error');
46
+ }
47
+ });
48
+
49
+
50
+ app.use('/users', usersRouter).
51
+ app.use(methodOverride(function(req){
52
+ if( req.body && typeof req.body === 'object' && '_method' in req.body ){
53
+ const method = req.body._method;
54
+ delete req.body._method;
55
+ return method;
56
+ }
57
+ }));
58
+
8
59
  app.use(session({
9
- secret: process.env.SESSION_KEY,
60
+ secret: process.env.SESSION_SECRET,
10
61
  resave: false,
11
62
  saveUninitialized: false,
12
- }),
13
63
  }));
64
+ app.use(csrf({cookie: true}));
65
+ app.use(flash());
66
+ ////////////////////////////////////
67
+
68
+
69
+ app.use('/', indexRouter);
70
+ app.use('/users', usersRouter);
71
+ app.use('/', express.static(path.join(__dirname, 'chat')));
72
+ app.listen(process.env.PORT || 1000);
73
+
74
+
75
+ // catch 404 and forward to error handler
76
+ app.use(function(req, res, next) {
77
+ next(createError(404));
78
+ });
79
+
80
+ // error handler
81
+ app.use(function(err, req, res, next) {
82
+ // set locals, only providing error in development
83
+ res.locals.message = err.message;
84
+ res.locals.error = req.app.get('env') === 'development' ? err : {};
85
+
86
+ // render the error page
87
+ res.status(err.status || 500);
88
+ res.render('error');
89
+ });
90
+
91
+ module.exports = app;
92
+
14
93
  ```
15
94
 
16
95
  .env

1

ログの追加

2018/04/25 07:12

投稿

Nippun
Nippun

スコア1147

title CHANGED
File without changes
body CHANGED
@@ -18,5 +18,10 @@
18
18
  SESSION_KEY = abcd
19
19
  ```
20
20
 
21
+ ```Log
22
+ 2018-04-25T06:56:08.476619+00:00 app[web.1]: GET / 500 1.136 ms - 67
23
+ 2018-04-25T06:56:08.477322+00:00 heroku[router]:
24
+ ```
25
+
21
26
  プログラム自体は動くのですがsecret optionの部分でエラーが出ます。
22
27
  どのように書き直せばいいですか?