Vue项目中全局变量process的用法解析

一、什么是process

        process对象是一个全局变量,提供了有关当前Node.js进程的信息并对其进行控制。常用于Vue项目中环境区分,对不同环境的配置不同,例如:根据全局变量区分请求的url地址、是否开始eslint、不同环境的特殊配置等等。

        可以在项目中新建js文件,输出process,得到一个配置对象。过多就仅展示部分截图:

二、如何使用process进行环境的区分

        Vue项目中有三个模式:production、development、test

        1.模式

        在vue-cli中模式是一个重要的概念,默认情况下有三个模式。

        对于下面所说的命令,大家可以看一下项目中的package.json文件,一看就明白了

  1. development 模式用于 vue-cli-service serve
  2. production 模式用于 vue-cli-service build 和 vue-cli-service test:unit
  3. test 模式用于 vue-cli-service test:unit

development模式对应我们开发环境对应的命令是 serve命令,也就是说我们启动项目后就在development模式下运行

production模式对应打包命令build。打包后在production模式下运行

你可以通过传递 --mode 选项参数为命令行覆写默认的模式。例如,如果你想要在构建命令中使用开发环境变量:

vue-cli-service build --mode development

        总结,可以通过命令动态配置,配置对于模式下对应那些配置。

        我们一般通过.env文件进行请求地址的配置,例如存在多个地址的情况,可以通过命令进行灵活配置。

        2.process.env环境对象

        在不同的模式会有不同的环境变量

在 development 模式下 NODE_ENV 的值会被设置为 “development”
在 production模式下 NODE_ENV 的值会被设置为 “production” 

        3..env文件的执行顺序

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

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

三、 process的使用

        1.用于不同环境请求地址的区分

        新建.env文件,例如.env.development,在development环境下会载入该文件声明的变量。

        以VUE_APP_开头的变量会被webpack.definePlugin 静态嵌入到客户端侧的包中,访问时  process.env.VUE_APP_SECRET,添加变量直接以VUE_APP_* 的形式就可

# just a flag
NODE_ENV = 'development'

# base api
 VUE_APP_BASE_API = 'http://10.0.0.165:9588'

    然后请求url就可以拿到对应的值了

const service=axios.create({
    baseURL: process.env.VUE_APP_BASE_API,//请求地址
    timeout: 10000,//请求超时时间,如果超给改时间会中断
    // headers: {'X-Custom-Header': 'foobar'}//自定义请求头
})

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue项目,可以通过使用全局变量来在不同组件之间共享数据。你可以通过以下几个步骤来设置全局变量: 1. 首先项目创建一个新的文件(比如global.js),用于定义全局变量和函数。 2. 在global.js文件,使用export关键字将需要共享的变量和函数导出。 3. 在需要使用全局变量的组件,使用import关键字引入global.js文件。 4. 在组件的data选项,将全局变量赋值给需要使用的变量。 以下是一个示例代码,展示了如何设置和使用全局变量: global.js文件: ``` export const token = 'your_token_value'; export function globalFunction() { // 全局函数的逻辑 } ``` 在组件使用全局变量和函数: ``` import { token, globalFunction } from './global.js'; export default { data() { return { token: token, // 其他组件需要使用的变量 } }, created() { globalFunction(); // 调用全局函数 }, // 其他组件的逻辑 } ``` 通过以上步骤,你就可以在Vue项目设置全局变量并在各个组件使用了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [vue项目定义全局变量、函数的几种方法](https://blog.csdn.net/weixin_44002432/article/details/102961444)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值