Skip to content

amikoj/rollup-plugin-inject-env

Repository files navigation

rollup-plugin-inject-dotenv 使用说明

基于rollup实现本地.env环境变量文件的注入, 支持.env.development和.env.production文件, 同时支持输出类型定义文件。

安装

npm install --save-dev rollup-plugin-inject-dotenv

支持配置

  • dto (string) - 输出的类型定义文件路径,默认值为typings/env.d.ts
  • mode (string) - 环境模式,developmentproduction,对应读取.env.development.env.production文件,不设置的时候会默认从process.env.NODE_ENV获取,不设置从.env文件读取
  • path (string) - 环境变量文件路径,若设置path,则会读取该文件,否则会通过mode配置获取文件地址
  • env (object) - 环境变量对象,若设置env,则会将其注入到process.env对象中,优先级高于.env文件

使用

// rollup.config.js
import injectEnv from 'rollup-plugin-inject-dotenv';

export default {
  input: 'index.js',
  output: {
    file: 'dist/bundle.js',
    format: 'cjs'
  },
  plugins: [    
    injectEnv({
        dto: 'typings/env.d.ts', // 输出的类型定义文件路径
        mode: 'development' // 环境模式,development或production,对应读取.env.development或.env.production文件, 不设置的时候会默认从process.env.NODE_ENV获取,不设置从.env文件读取
        path: '.env' // 环境变量文件路径,若设置path,则会读取该文件,否则会通过mode配置获取文件地址
        env: { // 环境变量对象,若设置env,则会将其注入到process.env对象中,优先级高于.env文件
            NODE_ENV: 'development',
            API_URL: 'https://example.com'
        }
    }),
    // other plugins
  ]
};

注意事项

  • .env文件不存在,则不会注入任何环境变量
  • 需保证rollup-plugin-inject-dotenv 插件在解析前执行,否则可能导致环境变量未注入,建议放在plugins数组的第一个位置