精华内容
下载资源
问答
  • envenv*

    2018-01-15 15:26:58
    ndk开发时,有的代码是env,有的是env*,其实是因为c和c++造成的 c++直接env-> c是*env->

    ndk开发时,有的代码是env,有的是env*,其实是因为c和c++造成的

    c++直接env->

    c是*env->

    展开全文
  • 设置环境变量配置的简单方法.env

    万次阅读 2017-11-27 15:47:33
    什么是.env 通过 .env 加载环境变量并且能够自动的通过 getenv(), $_ENV和 $_SERVER 自动调用.

    什么是.env

    .env文件位于项目根目录下,作为全局环境配置文件。

    通过 .env文件 加载环境变量并且能够自动的通过 getenv(), $_ENV$_SERVER 自动调用.
    这是一个PHP版本 Ruby dotenv.

    示例

    // 运行环境名称
    APP_ENV=local
    // 调试模式,开发阶段启用,上线状态禁用。
    APP_DEBUG=true
    // 敏感信息加密密钥,可使用 php artisan key:generate 重新生成。
    APP_KEY=
    // 项目根目录
    APP_URL=http://localhost
    
    // 缓存驱动,默认使用文件作为缓存。
    CACHE_DRIVER=file
    // 回话驱动,默认使用文件存储SESSION。
    SESSION_DRIVER=file
    // 队列驱动,默认使用同步模式。
    QUEUE_DRIVER=sync
    
    // Redis高性能key-value数据库,使用内存存储,用于数据持久化。
    REDIS_HOST=127.0.0.1
    REDIS_PASSWORD=null
    REDIS_PORT=6379
    
    // 数据库配置项
    DB_HOST=127.0.0.1//数据库主机名
    DB_PORT=3306//数据库端口
    DB_DATABASE=homestead//数据库名称
    DB_USERNAME=homestead//数据库登录账户
    DB_PASSWORD=secret//数据库登录密码
    

    优势

    • 把.env加入GIT的.gitignore文件中,可以避免.env文件中的敏感信息泄露
    • 可以不用修改Apache/nginx配置文件,就可以设置环境变量
    • 无需在.htaccess中添加 php_value 值
    • 方便移植和共享 ENV 环境变量值
    • 兼容服务器内置的服务器和 CLI 运行器

    使用 composer 安装

    curl -s http://getcomposer.org/installer | php
    php composer.phar require vlucas/phpdotenv
    

    使用方法

    .env文件通常不包含在版本控制内, 它可能包含敏感的 API Key 或者 密码. 所有需要环境变量定义(不敏感的定义)的项目都需要创建一个.env.example文件, 这个环境变量包含他们自己定义的环境变量或者联合开发包含的环境变量. 项目合作开发者可以独立的复制 .env.example 并且重命名为 .env, 并且修改为正确的本地环境配置, 存储密码key或者提供他们必要的值. 在这个使用方法中.env文件应该添加到.gitignore文件中并且永远不会被项目的合作者签入/签出. 这个方法确保里边没有敏感的 API Key 或者 密码在版本控制中出现从而减少了安全风险. 并且开发环境中的配置永远不会告知合作开发者.

    添加配置到根目录下的.env文件, 确保.env文件添加到.gitignore从而不会签入到 CVS

    S3_BUCKET=dotenv
    SECRET_KEY=souper_seekret_key
    

    现在创建一个 .env.example 文件, 并且签入到项目中. 这里配置和环境变量你需要设置的可以留空或者设置一些无关紧要的数据. 这个方法告知人们这些数据是必须的, 但是不会提供真正环境中的数据.

    S3_BUCKET=devbucket
    SECRET_KEY=abc123
    

    你可以使用以下一行代码加载应用中的 .env 文件:

    Dotenv::load(__DIR__);
    

    所有定义的变量都可以通过 getenv 方法访问到, 并且也可以使用超全局变量$_ENV$_SERVER访问到.

    $s3_bucket = getenv('S3_BUCKET');
    $s3_bucket = $_ENV['S3_BUCKET'];
    $s3_bucket = $_SERVER['S3_BUCKET'];
    

    你同样可以使用框架的 Request 类来访问这些变量(如果你使用框架)

    $s3_bucket = $request->env('S3_BUCKET');
    $s3_bucket = $request->getEnv('S3_BUCKET');
    $s3_bucket = $request->server->get('S3_BUCKET');
    

    嵌入变量

    在一个变量中嵌入一个环境变量是可以的, 这样对于减少重复很有用.

    使用 {$…} 来包裹环境变量 e.g.

    BASE_DIR=/var/webroot/project-root
    CACHE_DIR={$BASE_DIR}/cache
    TMP_DIR={$BASE_DIR}/tmp
    

    不可变

    默认来说, Dotenv 认为环境变量是不变的. 这就是说一旦设置就不能变更.

    你可以用以下函数将环境变量设置为可变的

    Dotenv::makeMutable();
    

    … 同样你也可以使用以下函数让其不再可变

    Dotenv::makeImmutable();
    

    要求变量必须设置

    使用 Dotenv, 你可以指定这个 ENV 变量必须设置, 如没有设置则会抛出异常. 这对于人们是非常有用的, 如果程序缺少这个变量就不能运行.

    使用以下语法:

    Dotenv::required('DATABASE_DSN');
    

    或者数组来定义:

    Dotenv::required(array('DB_HOST', 'DB_NAME', 'DB_USER', 'DB_PASS'));
    

    如果 ENV 变量缺少, Dotenv 将抛出一个 RuntimeException :

    Required environment variable missing or value not allowed: 'DB_USER', 'DB_PASS'
    

    允许的值

    你可能看到了上边的异常信息, 你可以设定一个可能范围值, 让你的环境变量遵守这个规则

    Dotenv::required('SESSION_STORE', array('Filesystem', 'Memcached'));
    
    

    同样的, 如果环境变量不在这个列表里, 你会收到一个相似的异常信息:

    Required environment variable missing or value not allowed: 'SESSION_STORE'
    
    

    注释

    可以使用 # 来注释字符. E.g.

    # this is a comment
    VAR="value" # comment
    VAR=value # comment
    

    使用注释

    当一个开发者克隆你的代码库. 他们会收到一个额外的手册 一次性步骤 来手动的复制 .env.example 并且重命名为 .env 并且追加上他们自己的值(或者从其他开发者哪里获取到其他敏感值).

    phpdotenv 被用来建立开发者环境但是不应该用在生产环境下. 在生产环境下, 需要设置真实的变量而不必每次使用请求的时候都使用 .env 文件进行重载.

    这个可以通过自动化部署工具来实现, 例如: Vagrant, chef, Puppet, 或者手动的通过云主机来实现, 例如: Pagodabox, Heroku.

    参考

    https://segmentfault.com/a/1190000010886175

    展开全文
  • .env .env.development .env.production 配置说明 安装 vue-cli npm install -g @vue/cli 创建项目 vue create envtest 启动项目 npm run serve 根目录下创建 .env .env.development .env.production 3个文件 ...

    .env .env.development .env.production 配置说明

    安装 vue-cli

    npm install -g @vue/cli
    

    创建项目

    vue create envtest
    

    启动项目

    npm run serve
    

    根目录下创建 .env .env.development .env.production 3个文件

    文件说明

    .env 无论开发环境还是生产环境都会加载的配置文件 .env.development 开发环境加载的配置文件
    .env.production 生产环境加载的配置文件

    文件目录

    .env 文件

    NODE_ENV = development
    VUE_APP_URL = 'development'
    

    .env.development 文件

    NODE_ENV = development
    VUE_APP_URL = 'development'
    

    .env.production 文件

    NODE_ENV = development
    VUE_APP_URL = 'production'
    

    文件说明

    这里是引用
    自定义的变量以 VUE_APP 开头

    访问配置文件变量

     data(){
        return {
          url:process.env.VUE_APP_URL
        }
      },
      mounted() {
        console.log('环境变量',this.url)
      },
    

    本地启动

    npm run serve

    打印日志

    环境变量 development

    本地打包部署
    采用serve在本地模拟部署
    全局安装 serve

    npm i serve -g

    在各个项目的根目录下启动 serve

    serve ./dist -p port
    举例子
    serve ./dist -p 8000

    打印日志

    环境变量 production

    结果说明

    研发环境默认加载 .env.development 文件
    生产环境默认加载 .env.production 文件

    其他配置

    .env.test

    NODE_ENV = development
    VUE_APP_URL = 'test'
    

    加载对应文件方式

    package 配置
    – mode 表示加载对应的配置文件

    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint",
    "serve:test": "vue-cli-service serve --mode test"
    

    启动方式

    npm run serve:test

    打印日志

    环境变量,test

    疑惑解答

    • 为什么我们本地启加载 .env.development 服务器加载 .env.production

    比如我们平常通过npm run serve启动时,我们本地系统的环境变量NODE_ENV
    值默认是development,这时就会先后加载.env和.env.development这两个文件。
    而当我们打包到服务器后,服务器的NODE_ENV值一般为production,则此时Vue仍会先加载.env文件,然后加载.env.production文件。

    • 变量覆盖问题 加载顺序问题

    研发环境 加载顺序
    .env
    .env.development
    同一个变量名 后者会覆盖前者

    生产环境 加载顺序
    .env
    .env.production
    同一个变量名 后者会覆盖前者

    我是菜鸟~谢谢关注

    展开全文
  • 让你秒懂 Vue .env .env.development .env.production

    千次阅读 多人点赞 2020-05-22 02:01:04
    项目根目录下创建.env、.env.development和.env.production三个文件,各文件解释如下:  .env 无论开发环境还是生产环境都会加载的配置文件  .env.development 开发环境加载的配置文件  .env.production 生产环境...
    1. 项目根目录下创建.env.env.development.env.production三个文件,文件名解释分别如下:
        .env 无论开发环境还是生产环境都会加载的配置文件
        .env.development 开发环境加载的配置文件
        .env.production 生产环境加载的配置文件

    2. 环境变量的简单使用示例。需要注意,配置文件里的属性名必须以VUE_APP_开头,比如在.env文件这样声明一个环境变量:

      VUE_APP_QQQ = `QQ`
      

      然后就可以在代码里这样用了:

      console.log(process.env.VUE_APP_QQQ)  // -> `QQ`
      
    3. 那为什么是三个文件呢?
      比如现在三个文件里内容分别如下:

      // .env
      VUE_APP_QQQ = `QQ`
      
      // .env.development
      VUE_APP_QQQ = `WW`
      
      // .env.production
      VUE_APP_QQQ = `RR`
      

      那么首先,Vue在启动时,无论是在开发环境还是在生产环境,它始终都会加载.env文件里的内容,然后(划重点)=>根据Node环境变量'NODE_ENV'的值来选择加载'development'还是'production'

      比如我们平常通过npm run serve启动时,我们本地系统的环境变量NODE_ENV 值默认是development,这时就会先后加载.env.env.development这两个文件。

      而当我们打包到服务器后,服务器的NODE_ENV值一般为production,则此时Vue仍会先加载.env文件,然后加载.env.production文件。

      其次,在按顺序加载文件时,Vue会把后一个加载的文件内容和前面加载的文件内容进行比较,如果存在变量名相同,那么它会采用后一个文件里的变量值为变量的最终值

      拿上面三个文件内容打个比方:我们在日常开发时,NODE_ENV值是development,那么Vue就会首先加载.env文件里的内容,然后继续加载.env.development文件里的内容。那么我们发现变量名VUE_APP_QQQ存在多个,这时Vue就会采用后一个文件里的变量值为变量的最终值。因此我们通过console输出看一看。

      console.log(VUE_APP_QQQ)  // -> `WW`
      

    看完秒懂的记得点个赞,你的支持是我创作的动力。
    关注我,你会多一个宝藏。

    展开全文
  • .env 全局默认配置文件,不论什么环境都会加载合并 .env.development 开发环境下的配置文件 .env.production 生产环境下的配置文件 2.命名规则: 属性名必须以VUE_APP_开头,比如VUE_APP_XXX 3.关于文件的加载:...
  • python env

    千次阅读 2018-10-22 17:14:55
    python env 是一个外部命令,程序文件/bin/env,列出所有环境变量及其赋值。env命令显示当前用户的变量;
  • linux env

    千次阅读 2019-05-09 10:46:45
    Linux系统里的env命令可以显示当前用户的环境变量,还可以用来在指定环境变量下执行其他命令。下面来比较一下set,env和export命令的异同:set命令显示当前shell的变量,包括当前用户的变量;env命令显示当前用户的...
  • Vue中process.env.NODE_ENV

    千次阅读 2020-08-06 17:06:58
    一文弄懂如何在 Vue 中配置 process.env.NODE_ENV 最近在研习 vue.config.js 文件,发现一行,甚是费解。 process.env.NODE_ENV 查阅资料后,发现武林众功法中对 process.env.NODE_ENV 没有解释的太清楚,遂决定...
  • process.env.NODE_ENV使用

    2020-08-17 21:04:17
    在开发过程中,我们往往需要针对不同的开发环境来进行一些差异性的配置或者功能使用,此时便可以借助于 process.env.NODE_ENV 来区分开发环境,要注意的是NODE_ENV不是process.env下默认的变量; 项目代码中使用 ...
  • 在开发测试和正式部署时,需要区分不同的环境process.env.NODE_ENV,包括development和production,我推荐使用工具包cross-env实现在命令行中设置,解决跨平台问题。 1、全局安装 yarn global add cross-env ...
  • Failed at the @ watch script 'cross-env NODE_ENV=development 使用cross-env解决跨平台设置NODE_ENV的问题
  • cross-env设置NODE_ENV

    千次阅读 2019-01-05 15:45:43
    1. 什么是cross-env呢? 它是运行跨平台设置和使用环境变量的脚本。 2. 它的作用是啥? 当我们使用 NODE_ENV = production 来设置环境变量的时候,大多数windows命令会提示将会阻塞或者异常,或者,windows不支持...
  • .env——全局默认配置文件,无论什么环境都会加载合并 .env.development——开发环境下的配置文件 .env.production——生产环境下的配置文件 注意:属性名必须以VUE_APP_开头,比如VUE_APP_xxx = "变量" ...
  • cross-env NODE_ENV=development作用

    千次阅读 2020-01-11 17:15:13
    cross-env 作用: 它是运行跨平台设置和使用环境变量的脚本 当我们使用 NODE_ENV = production 来设置环境变量的时候,大多数windows命令会提示将会阻塞或者异常,或者,windows不支持NODE_ENV=development的这样的...
  • 理解webpack之process.env.NODE_ENV

    千次阅读 2020-02-21 11:48:08
    但是process.env中并不存在NODE_ENV这个东西。NODE_ENV是用户一个自定义的变量,在webpack中它的用途是判断生产环境或开发环境的依据的。 为了查看 process的基本信息,我们可以在文件夹中 新建一个 process.js ...
  • 借助于 process.env.NODE_ENV 可以使我们区分开发环境 查看环境变量 1.安装nodejs 2.通过终端(cmd),输入node,进入编辑模式 3.输入process+回车, 显示进程 4.输入process.env+回车,显示 当前环境(environment)...
  • Node process.env

    万次阅读 2018-10-22 11:29:45
    Node process.env 在看一些前框框架实现的源码的时候,经常会看到类似如下的代码: if (process.env.NODE_ENV === 'production') { module.exports = require('./prod.js') } else { module.exports = require('./...
  • .env 全局默认配置文件,不论什么环境都会加载合并 .env.development 开发环境下的配置文件 .env.production 生产环境下的配置文件 2,关于内容 注意:属性名必须以VUE_APP_开头,比如VUE_APP_XXX 3,关于文件的加载...
  • env命令

    千次阅读 2016-08-13 23:09:06
    env命令Shell内建命令 env命令用于显示系统中已存在的环境变量,以及在定义的环境中执行指令。该命令只使用”-“作为参数选项时,隐藏了选项”-i”的功能。若没有设置任何选项和参数时,则直接显示当前的环境变量。 ...
  • cross-env

    2019-12-02 18:02:38
    cross-env 作用是跨平台设置、使用环境变量。 NODE环境变量设置,不同平台下设置方式不一样。 NODE_ENV=dev,这种设置window平台下不支持,报错信息如下截图所示: 解决办法:使用cross-env进行变量设置 安装cross-...
  • 场景:不同环境加载不同配置时,我们通常会在package.json设置不同的NODE_ENV,如 "scripts": { "start": "NODE_ENV=production node ./server/app.js", "dev": "NODE_ENV=development nodemon -L ./server/app....
  • shell env

    2016-04-19 22:53:31
    .bashrc 在每次shell打开的时候加载,  .bashrc export $PATH env 定义在 $PATH 里  shell 中 和 irb 中都可以取到 env 的值 可以应用到 rails database.yml 中 设置password值
  • vue项目使用.env文件配置全局环境变量

    万次阅读 多人点赞 2019-07-05 11:00:47
    .env 全局默认配置文件,不论什么环境都会加载合并 .env.development 开发环境下的配置文件 .env.production 生产环境下的配置文件 ======================================================================...
  • 项目根目录创建文件 .env.development 和 .env.prodution .env.development VUE_APP_URL=http://baidu.com .env.prodution VUE_APP_URL=http://baidu.com 访问process.env.VUE_APP_URL
  • 理解node process.env.NODE_ENV

    千次阅读 2019-07-18 16:18:06
    process.env process对象是全局变量,它提供当前node.js的有关信息,以及控制当前node.js的有关进程。因为是全局变量,它对于node应用程序是始终可用的,无需require()。 既然process都是一个对象了,env自然是它的...
  • VueCli3以下获取process.env.NODE_ENV数据

    千次阅读 2019-12-27 15:57:46
    而对于Vuecli3以下的则要注意使用cross-env去设置变量! 以开发环境说明 运行脚本 "scripts": { "dev": "cross-env node build/dev-server.js" } config中的dev.env.js module.exports = { NODE_E...
  • vue-cli3.0配置process.env.NODE_ENV

    千次阅读 2020-03-18 11:41:47
    在根目录下新建三个.env文件 NODE_ENV=dev VUE_APP_URL=http://192.168.14.22 NODE_ENV=prod VUE_APP_URL=https://www.baidu.com NODE_ENV=test VUE_APP_URL=https://test.baidu.com 分别对应以上三个文件本地...
  • Linux设置node的process.env.NODE_ENV

    千次阅读 2018-06-07 11:30:15
    Linux环境下设置node的process.env.NODE_ENV命令:export NODE_ENV=development设置完成,查看命令:env | grep NODE_ENV

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 163,837
精华内容 65,534
关键字:

env