vue2+webpack环境变量配置

第一步:创建3个环境变量文件

在这里插入图片描述

1、创建> 生产(本地)环境 .env.development
# 开发环境
ENV='development'
VUE_APP_MEDIA_BASE='调后端请求的地址'

2、创建> 测试环境 .env.staging
# 测试环境
ENV='staging'
VUE_APP_MEDIA_BASE='调后端请求的地址'

3、创建> 生产(正式)环境 .env.production
# 正式环境
ENV='production'
VUE_APP_MEDIA_BASE='调后端请求的地址'

第二步:在vue.config.js文件中配置


module.exports = {
	//生产环境使用development的变量
  lintOnSave: process.env.ENV === 'development',
  //设置代理
   proxy: {
      '/api': {
        target: process.env.VUE_APP_MEDIA_BASE,
        changeOrigin: true,
      }
    }
}

第三步:配置package.json

//正式环境build指令build:prod
//测试环境build指令build:stage
  "scripts": {
    "dev": "vue-cli-service serve",
    "build:prod": "vue-cli-service build",
    "build:stage": "vue-cli-service build --mode staging",
    }
    

验证是否生效:在main.js或者vue.config.js或者任意组件中打印一下process.env.VUE_APP_MEDIA_BASE,如果获取到就证明验证成功了

注意!!!在文件中配置环境路径,前面必须以VUE_APP开头!!!

在这里插入图片描述

<think>好的,我现在需要帮助用户解决在Vue 2.0和Webpack 2.0中配置Less变量的问题。首先,我得回忆一下相关的配置步骤,并参考用户提供的引用内容。用户提到他们使用的是Vue 2.0和Webpack 2.0,所以可能需要一些旧版本的配置方法。 根据引用[4],用户之前可能尝试过在utils.js中修改cssLoaders函数,添加了lessResourceLoader来加载全局的Less变量。另外,引用[5]中提到使用generateLoaders方法,并传入全局变量。这可能涉及到修改build目录下的utils.js文件,这在Vue CLI生成的项目中比较常见。 不过,用户现在使用的是Webpack 2.0,可能需要检查相关的loader版本是否兼容。例如,引用[1]中用户提到降级less-loader到7.2.0版本解决了问题,这可能是因为高版本与Webpack 2.0不兼容。所以需要确认使用的less-loader和可能的其他loader的版本是否适合Webpack 2.0。 另外,引用[2]提到在vue.config.js配置style-resources-loader,但用户使用的是Vue 2.0,可能需要安装相应的插件,比如vue-cli-plugin-style-resources-loader,或者手动配置Webpack。不过Webpack 2.0的配置语法可能与新版本不同,需要注意语法是否正确。 引用[3]提到了optimize-css-assets-webpack-plugin,这可能与生产环境优化相关,但当前问题主要是配置Less变量,暂时可以忽略这部分,除非遇到生产环境的问题。 综合这些信息,正确的步骤可能是: 1. 安装必要的依赖,包括less、less-loader,可能需要指定版本以确保与Webpack 2.0兼容。比如,安装less-loader@5.0.0或更旧的版本,因为较新的版本可能不支持Webpack 2.0。 2. 在项目根目录下创建或修改vue.config.js文件,配置Webpack的loader规则,或者修改build/utils.js中的cssLoaders函数,添加全局变量文件。 3. 使用style-resources-loader来全局注入Less变量文件,或者通过修改less-loader的选项来包含全局变量。 4. 确保变量文件路径正确,并在组件中测试变量是否生效。 可能需要检查各个loader的文档,确认它们的配置方式是否适用于Webpack 2.0。另外,用户可能需要手动调整Webpack配置,因为Vue CLI旧版本可能没有自动生成某些配置。 现在,我需要将这些步骤整理成一个清晰的指南,确保用户能够逐步操作,并避免常见的陷阱,比如版本不兼容或路径错误。同时,需要提醒用户注意依赖版本,必要时提供示例代码和版本建议。</think>在Vue 2.0和Webpack 2.0中配置全局Less变量,可通过以下步骤实现: --- ### 一、安装依赖 ```bash npm install less less-loader@5.0.0 style-resources-loader --save-dev ``` 注意:`less-loader@5.0.0`适配Webpack 2.0[^1],新版可能导致兼容问题 --- ### 二、创建全局变量文件 在`src/styles/variables.less`中定义变量: ```less @primary-color: #1890ff; @text-color: #333; ``` --- ### 三、修改Webpack配置 1. **方式一:通过`vue.config.js`配置** ```javascript const path = require('path') module.exports = { chainWebpack: config => { const types = ['vue-modules', 'vue', 'normal-modules', 'normal'] types.forEach(type => { config.module.rule('less').oneOf(type) .use('style-resources-loader') .loader('style-resources-loader') .options({ patterns: [ path.resolve(__dirname, 'src/styles/variables.less') ] }) }) } } ``` 2. **方式二:修改`build/utils.js`(适用于Vue CLI旧版)** ```javascript // build/utils.js function generateLoaders(loader, loaderOptions) { // 添加全局变量配置 if (loader === 'less') { loaderOptions.globalVars = { '@primary-color': '#1890ff' } // 或引入外部文件 loaderOptions.additionalData = `@import "${path.resolve(__dirname, '../src/styles/variables.less')}";` } // 原有逻辑保持不变... } ``` --- ### 四、验证配置 在任意Vue组件中直接使用变量: ```less <style lang="less"> .text { color: @primary-color; } </style> ``` --- ### 常见问题排查 1. **版本冲突**:确保`less-loader`版本与Webpack 2.0兼容,推荐锁定版本: ```json "dependencies": { "less-loader": "^5.0.0" } ``` 2. **路径错误**:使用`path.resolve`确保绝对路径引用[^4] 3. **缓存问题**:修改配置后执行`npm run serve -- --force` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值