🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Node.js

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

Express

ExpressはNode.jsのWebアプリケーションフレームワークです。 マルチページを構築するための機能セットおよびハイブリッドのWebアプリケーションを提供します。

Q&A

1回答

5011閲覧

node.jsでメッセージ等のファイルを別ファイルで管理する場合について

yamaguchi0714

総合スコア12

Node.js

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

Express

ExpressはNode.jsのWebアプリケーションフレームワークです。 マルチページを構築するための機能セットおよびハイブリッドのWebアプリケーションを提供します。

0グッド

0クリップ

投稿2021/03/25 08:06

こんにちは。
node.jsを勉強中です。

node.jsに限った話ではなくMVC全般的な質問となります。

メッセージ等の定数をコントローラーではなく別ファイルで管理し、
コントローラーでそのファイルを読み込んで使用したいと思っています。

Viewでactionのリンクやメッセージを記述する場合は直接記入するより、
コントローラーで必要な文字列を定数ファイルから拾って
Json形式の変数に格納し、view呼び出し時にその値を引き渡した方がいいのでしょうか?

node.jsでフレームワークはexpressを使用しております。
ビューはrenderでejsファイルを呼び出しています。

MVCにお詳しい方がいらっしゃいましたらコツをお伺いいたしたくお願いいたします。

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

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

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

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

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

guest

回答1

0

私のよくやる方法ですけど、別ファイルに定義した定数をmodule.exportsしておいて、

【config.js】 module.exports = { security: { SESSION_SECRET: "YOUR-SESSION-SECRET-STRING", PASSWORD_SALT: "YOUR-PASSWORD-SALT", PASSWORD_STRETCH: 3 }, search: { MAX_ITEM_PER_PAGE: 2 } };

それをrequireしたりしています。
あなたがやりたいことがどうかはわかりませんが、参考にしてください。

【app.js】 const { SESSION_SECRET } = require("./config.js").security;

投稿2021/03/25 15:30

technocore

総合スコア7337

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

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

yamaguchi0714

2021/03/26 01:04

ご回答いただき、ありがとうございました。 接続情報の別出しについても今後勉強しなければいけないと思っておりましたので参考にさせていただきます。 プログラム内のオンコーディングについて客先より「常識的なプログラミングをしてください。」 と上の方(営業)が言われたようで、上の方が「そんなプログラムを組むなんて恥ずかしい」と 言っているらしいのですが、常識的なというのはどのあたりまでのことをいうのか 疑問になり質問させていただきました。 メッセージや画面遷移のURLは別出しにするのが一般的な開発の手法なのでしょうか? 私は新規顧客と新しいシステムを開発したことがなく、 現場で動いているソースを見て、それに沿ったプログラムを組んでおりましたので一般常識が分からず、経験豊富な方の意見をお伺いいたしたく質問させていただいた次第であります。 何卒よろしくお願いいたします。
technocore

2021/03/26 01:28

>一般常識が分からず なんだ、コーディングではなく一般常識の質問なのか。
yamaguchi0714

2021/03/26 04:45

そうです。viewにはできるだけオンコーディングしないというのはMVCで作られたシステムの 一般的な常識でしょうか? ボタン名、action名、表示メッセージ・・・など。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問