Giter Club home page Giter Club logo

dotenv-module's Introduction

@nuxtjs/dotenv

npm version npm downloads Circle CI Codecov License

A Nuxt.js module that loads your .env file into your context options

๐Ÿ“– Release Notes

Features

The module loads variables from your .env file directly into your nuxt.js application context and process.env.

Setup

  1. Add @nuxtjs/dotenv dependency to your project
yarn add --dev @nuxtjs/dotenv # or npm install --save-dev @nuxtjs/dotenv
  1. Add @nuxtjs/dotenv to the buildModules section of nuxt.config.js

โš ๏ธ If you are using Nuxt older than v2.9 you have to install module as a dependency (No --dev or --save-dev flags) and also use modules section in nuxt.config.js instead of buildModules.

export default {
  buildModules: [
    // Simple usage
    '@nuxtjs/dotenv',

    // With options
    ['@nuxtjs/dotenv', { /* module options */ }]
  ]
}

Using top level options

export default {
  buildModules: [
    '@nuxtjs/dotenv'
  ],
  dotenv: {
    /* module options */
  }
}

Options

only

  • Type: Array[String]
  • Default: null

If you want to restrict what's accessible into the context, you can pass to the module options an only array with the keys you want to allow.

export default {
  buildModules: [
    ['@nuxtjs/dotenv', { only: ['some_key'] }]
  ]
}

path

  • Type: String
  • Default: srcDir

By default, the we'll be loading the .env file from the root of your project. If you want to change the path of the folder where we can find the .env file, then use the path option.

export default {
  buildModules: [
    ['@nuxtjs/dotenv', { path: '/path/to/my/global/env/' }]
  ]
}

Note: that this is the path to the folder where the .env file live, not to the .env file itself.

The path can be absolute or relative.

systemvars

  • Type: Boolean
  • Default: false

By default this is false and variables from your system will be ignored. Setting this to true will allow your system set variables to work.

export default {
  buildModules: [
    ['@nuxtjs/dotenv', { systemvars: true }]
  ]
}

filename

  • Type: String
  • Default: .env

We can override the filename when we need to use different config files for different environments.

export default {
  buildModules: [
    ['@nuxtjs/dotenv', { filename: '.env.prod' }]
  ]
}

Usage

After creating your .env file in the project root, simply run your usual yarn dev or npm run dev. The variable inside the .env file will be added to the context (context.env) and process (process.env).

Using .env file in nuxt.config.js

This module won't overload the environment variables of the process running your build.

If you need to use variables from your .env file at this moment, just prepend require('dotenv').config() to your nuxt.config.js:

require('dotenv').config()

export default {
  // your usual nuxt config.
}

This will works thanks to the dotenv library provided by this module as a dependency. If you decided to ignore some values from your .env file in the module configuration, this won't apply here.

License

MIT License

Copyright (c) Nuxt Community

dotenv-module's People

Contributors

4aficiona2 avatar adekoyejoakinhanmi avatar atinux avatar benweatherman avatar decipher avatar dependabot[bot] avatar julientant avatar matyunya avatar renovate[bot] avatar ricardogobbosouza avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.