LoginSignup
0
0

More than 1 year has passed since last update.

laravel-mixでAPP_ENVごとに読み込む.envを変更する

Posted at

Laravelで環境ごとの.envファイルを
.env.local
.env.staging
.env.production

と分けたりすると思うんですが
このLaravel側の.envを
js側でも環境に応じて読み込みを変えていきたい場合の対応法です

前提条件

  • docker-composeでAPP_ENVを定義している(local/staging/production)
  • Laravelで下記のような.envファイルが環境ごとに存在する
    • .env.local
    • .env.staging
    • .env.production
  • laravel-mixでwebpackのビルドステップを定義している

対応方法

  1. dotenvとdotenv-expandをnpm install
  2. webpack.mix.js に下記を追記
    webpack.mix.js
    const dotenvExpand = require('dotenv-expand');
    dotenvExpand(require('dotenv').config({path: `./.env.${process.env.APP_ENV}`}));
    
  3. 読み込みされていることを確認
    _env.js
    const env = {
      studiounbuilt_url: process.env.MIX_STUDIOUNBUILT_URL,
    }
    
    export default env
    

最後に

js環境構築周りナニモワカラナイと言って数年経ってます。
laravel-mixはもう卒業した方がいい気もしている。


私はバックエンドをめっちゃ頑張るので
一緒に働いてくれるフロントエンジニアを募集しています。

↓興味のある方はこちらから↓
Wantedly - スタジオアンビルト株式会社

こんなWebサービスを作っています。
マドリー
Studio Unbuilt

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0