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

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

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

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

Q&A

解決済

3回答

6203閲覧

node js 環境変数取得

violineer

総合スコア72

Node.js

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

0グッド

1クリップ

投稿2018/09/10 07:48

編集2018/09/10 08:08

nodejs の環境変数取得

index.htmlの<HEAD>内の<script >で
process.envを参照したらprocess is not definedになってしまいました
index.js内では参照できています
この理由が知りたいです

以下情報です

フォルダ構成
-public
index.html
-src
index.js

ビルドはparcelを使用、エントリーポイントをindex.htmlに設定

環境変数は.envファイルに記述しており、index.js内では参照できています

追記
上記方法だと
クライアントjs(localhost)で
process.env.ENVが表示できます
.envファイルに
ENV=DEV
などとしております

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

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

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

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

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

guest

回答3

0

クライアントサイドJSとサーバサイドJSを混同していると思います。

index.html に埋め込んだJSはクライアントサイドで動作するのでサーバーの環境変数を取得することはできません。

index.js内では参照できています

これは

node index.js

で確認したのですよね?
Node.jsはJSのサーバーサイド実行環境なのでサーバの環境変数を取得できます。

クライアントサイドというのは要するにWebブラウザです。
もしブラウザからサーバの環境変数を見れたら怖いですよね?

投稿2018/09/10 07:57

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

ベストアンサー

Parcelの厳密な動きを追えていないので確証はないのですが、HTMLは「エントリポイントを調べて書き換える」だけの変更しか行わない、のではないでしょうか。

Parcel公式のドキュメントを読んでも、HTMLについては「パスの生成を行う」とだけあって、直書きされたJavaScriptを変換するという旨はありませんでした。

そして、processNode.jsの機能なので、ブラウザでは動きません。

投稿2018/09/10 07:53

maisumakun

総合スコア145183

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

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

0

Node.jsとChromeは同じV8エンジンでJavaScriptを動かしています。
しかしその前提条件が全く違います。
細かい箇所まで挙げればキリがないですが、簡単に上げるとこんな感じ。

Node.js

  • OSのコアな箇所(環境変数やプロセスの停止等)にアクセスするprocessオブジェクトを用意
  • require関数を用意

ブラウザのJavaScript

  • DOMを操作するためのDOM APIを用意
  • windowsオブジェクトや、documentオブジェクトを用意

従って、ブラウザで<script>タグにprocessを確認するようにしたJavaScriptファイルを読み込ませても、
**process.envなんて存在しませんけど?**というエラーが発生します。

投稿2018/09/10 08:11

miyabi-sun

総合スコア21158

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問