Quasar App Extension qenv
quasar-app-extension-qenv is a
CLI App Extension for Quasar Framework. It is a stand-alone environment-to-browser parser and aggregator.
Can be found here.
quasar ext add @quasar/qenv
Quasar CLI will retrieve it from NPM and install the extension.
"What name would you like to use for your Common Root Object ('none' means to not use one)?" The default is "none" The "common root object" means off of "process.env" you will have a named object, basically for organization purposes.
"For security, would you like your .quasar.env.json file automatically added to .gitignore?" The default is "true" (yes) If you say "yes" to this question, then your .quasar.env.json file will automatically be inserted into the .gitignore. For security purposes, because you may have sensitive data in your
.quasar.env.jsonfile, you should not keep it in a repository.
Accessing the data
Any data in a
.quasar.env.json will be placed in
process.env at the browser level.
If you specified a common root object, say
MyData, then the data will be placed at
Be aware, if you have something like this in your
Then you will need to use the
parseInt() function as it will be propogated to the browser code as a string. You should really do it this way:
Now, the variable will be accessible in the browser as a number.
The format of the
.quasar.env.json is as follows:
This is the default that is installed and you will need to modify it to fit your needs.
You can add as many environments as needed (top-level keys). You are not restricted to the
test that come by default. And, you can add as many variables under those environment types as you like.
So, how is this accessed?
You will need to modify your
package.json in the scripts area. Let's take a look at an example:
Basically, you need to set the QENV environment variable for Node. You specifiy the key that you want for the propgated data.
QEnv with Windows
Many thanks to NicksonYap for the following information:
QEnv will work on Windows by additionally installing cross-env.
npm install --save-dev cross-envoryarn add --dev cross-env
Then, in package.json:
"dev": "cross-env QENV=development quasar dev"
QEnv with Docker
QEnv will work with Docker by using the following syntax to inject your QENV variable into Node:
$ sudo docker run [...] -e QENV="development"
Look at the
combined script. Absolutely, you can chain two or more together. When doing this, if there is any conflicting variables, the last one in wins.
In other words:
"combined": "QENV=development+test quasar dev",
will give different results than:
"combined": "QENV=test+development quasar dev",
And to be clear, you would do the following to run it:
# npmnpm run combined# or# yarnyarn combined
quasar ext remove @quasar/qenv
MIT (c) Jeff Galbraith email@example.com