環境変数とConfigの型付け
検証済みのConfigモジュールでprocess.envに型を付けます。
「環境変数とConfigの型付け」はCoddyKit上の無料TypeScript Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはTypeScript Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 TypeScript Academyコースには全4レッスンが含まれています。
ようこそ
問題点
const port = process.env.PORT; // string | undefined
// server.listen(port); // could be undefined!process.envのモジュール拡張
declare global {
namespace NodeJS {
interface ProcessEnv {
PORT: string;
DATABASE_URL: string;
NODE_ENV: 'development' | 'staging' | 'production';
}
}
}設定モジュールパターン
function requireEnv(key: string): string {
const val = process.env[key];
if (!val) throw new Error(`Missing env var: ${key}`);
return val;
}
export const config = {
port: parseInt(requireEnv('PORT')),
dbUrl: requireEnv('DATABASE_URL'),
};環境変数の検証にZodを使う
import { z } from 'zod';
const envSchema = z.object({
PORT: z.string().transform(Number),
DATABASE_URL: z.string().url(),
NODE_ENV: z.enum(['development', 'production']),
});
export const env = envSchema.parse(process.env);TypeScriptでdotenvを使う
import 'dotenv/config';
// Or:
import dotenv from 'dotenv';
dotenv.config();環境変数への厳格なアクセス
環境ごとの設定
const envFile = `.env.${process.env.NODE_ENV ?? 'development'}`;
dotenv.config({ path: envFile });ログでのシークレットのマスキング
console.log({ ...config, dbPassword: '***', apiKey: '***' });型安全なフィーチャーフラグ
const flags = {
enableBeta: process.env.ENABLE_BETA === 'true',
logLevel: (process.env.LOG_LEVEL ?? 'info') as 'debug' | 'info' | 'warn',
};環境変数を使ったテスト
// tests/setup.ts
process.env.DATABASE_URL = 'sqlite:///:memory:';
process.env.NODE_ENV = 'test';クイックチェック
まとめ
よくある質問
「環境変数とConfigの型付け」レッスンは無料ですか?
はい。「環境変数とConfigの型付け」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、TypeScript Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 TypeScript Academyコースには全4レッスンが含まれています。
「環境変数とConfigの型付け」で何を学びますか?
検証済みのConfigモジュールでprocess.envに型を付けます。 ブラウザで直接実行するハンズオンコードでTypeScript Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
TypeScript Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのTypeScript Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「環境変数とConfigの型付け」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このTypeScript Academyレッスンでコードを書いて実行できますか?
はい。すべてのTypeScript Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。