質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Q&A

解決済

2回答

867閲覧

NodeJSでgetとかpostを別のファイルに書く方法

退会済みユーザー

退会済みユーザー

総合スコア0

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

0グッド

0クリップ

投稿2021/07/16 05:37

編集2021/07/28 00:49

NodeJSを勉強中で、まずはボタン操作で画面を遷移させたり、ブラウザから送信フォームの値で表示を変更したりしているのですが、こういったgetとかpostとかの処理をまとめて別なファイルに書き出すことはできないのでしょうか?
例えば下記のように・・・
server.js

var express = require('express'); var app = express(); var ejs = require('ejs'); var foo = require('./pageTransition.js'); var bodyParser = require('body-parser'); app.use(bodyParser.urlencoded({ extended: false })); app.engine('ejs', ejs.renderFile); app.get('/', (req, res) => { res.send('Hello World!'); }); app.get('/index.html', (req, res) => { res.render('index.ejs'); }); foo(app); app.listen(80);

pageTransition.js

exports.pt = function (app) { app.post("/network.html", (req, res) => { res.render('network.ejs'); }); }

環境はVisualStuido2019でやっており、エラーコードは
プログラム 'server.js' はコード -1 (0xffffffff) で終了しました。
で起動せずに終わってしまいます。

方法があれば教えてください。また方法はあるがこのようなことはすべきではないならその理由を教えてください。よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

p19ljk

2021/07/19 04:42

コードはコードエリア内に書いてください。 <code>をクリックして```内に書くと見やすくなりますよ。 インデントもバラバラですしね。
退会済みユーザー

退会済みユーザー

2021/07/28 00:50

ご指摘ありがとうございます 他の業務に追われすぐに対応できず申し訳ありません
guest

回答2

0

ベストアンサー

こちらを参考にして自己解決しました
皆様、ありがとうございました
http://expressjs.com/en/guide/routing.html#express-router

投稿2021/07/28 08:47

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

server.js

js

1const express = require('express'); 2const app = express(); 3const ejs = require('ejs'); 4const foo = require('./pageTransition.js'); 5const bodyParser = require('body-parser'); 6app.use(bodyParser.urlencoded({ extended: false })); 7app.engine('ejs', ejs.renderFile); 8 9app.get('/', (req, res) => { 10 res.send('Hello World!'); 11}); 12 13app.get('/index.html', (req, res) => { 14 res.render('index.ejs'); 15}); 16foo(app) 17app.listen(80);

pageTranslation.js

js

1function bar(app) { 2 app.post("/network.html", (req, res) => { 3 res.render('network.ejs'); 4 }); 5} 6module.exports = { 7 bar 8} 9

これでどうでしょうか。
あとvarはやめたほうがいいので置き換えました

投稿2021/07/21 03:10

Waki285

総合スコア2014

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/07/28 01:29

ありがとうございます 試してみたところ、起動せずに終了しました 終了時のメッセージは同じで、fooからステップ実行してみたところこのような過程で終了しました (わかりにくくて申し訳ありません) ``` loader.js 794行目 if (threw) { delete Module._cache[filename]; if (parent !== undefined) { delete relativeResolveCache[relResolveCacheIdentifier]; const children = parent && parent.children; if (ArrayIsArray(children)) { exectuion.js 141行目 clearDefaultTriggerAsyncId(); async_hooks.js 422行目 async_id_fields[kDefaultTriggerAsyncId] = -1; exectuion.js 147行目 if (er == null || er.domain == null) { try { const report = internalBinding('report'); loader.js 139行目 let mod = bindingObj[module]; if (typeof mod !== 'object') { return mod; exectuion.js 150行目 if (report != null && report.shouldReportOnUncaughtException()) { exectuion.js 159行目 const type = fromPromise ? 'unhandledRejection' : 'uncaughtException'; process.emit('uncaughtExceptionMonitor', er, type); events.js 325行目 let doError = (type === 'error'); const events = this._events; if (events !== undefined) { if (doError && events[kErrorMonitor] !== undefined) this.emit(kErrorMonitor, ...args); doError = (doError && events.error === undefined); } else if (!doError) return false; // If there is no 'error' event listener then throw. if (doError) { 369行目 const handler = events[type]; if (handler === undefined) return false; exclution.js 161行目 if (exceptionHandlerState.captureFn !== null) { exceptionHandlerState.captureFn(er); } else if (!process.emit('uncaughtException', er, type)) { events.js 325行目 let doError = (type === 'error'); const events = this._events; if (events !== undefined) { if (doError && events[kErrorMonitor] !== undefined) this.emit(kErrorMonitor, ...args); doError = (doError && events.error === undefined); } else if (!doError) return false; // If there is no 'error' event listener then throw. if (doError) { const handler = events[type]; if (handler === undefined) return false; exclution.js 167行目 try { if (!process._exiting) { process._exiting = true; process.exitCode = 1; process.emit('exit', 1); event.js 325行目 EventEmitter.prototype.emit = function emit(type, ...args) { let doError = (type === 'error'); const events = this._events; if (events !== undefined) { if (doError && events[kErrorMonitor] !== undefined) this.emit(kErrorMonitor, ...args); doError = (doError && events.error === undefined); 369行目 const handler = events[type]; if (handler === undefined) return false; exclution.js 175行目 return false; } error.js 676行目 if (typeof error[kEnhanceStackBeforeInspector] !== 'function') { return error.stack; } 82行目 if (overrideStackTrace.has(error)) { const f = overrideStackTrace.get(error); overrideStackTrace.delete(error); return f(error, trace); } const globalOverride = maybeOverridePrepareStackTrace(globalThis, error, trace); 109行目 if (typeof globalThis.Error?.prepareStackTrace === 'function') { return globalThis.Error.prepareStackTrace(error, trace); } if (typeof MainContextError.prepareStackTrace === 'function') { return MainContextError.prepareStackTrace(error, trace); } return kNoOverride; }; 90行目 if (globalOverride !== kNoOverride) return globalOverride; const errorString = ErrorPrototypeToString(error); if (trace.length === 0) { return errorString; } return `${errorString}\n at ${ArrayPrototypeJoin(trace, '\n at ')}`; }; 677行目 return error.stack; } ```
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問