vue2之vue.config.js文件 常用配置教程

vue.config.js 相当于之前的webpack 打包工具

配置目录

const path = require('path');
 
function resolve(dir) {
  return path.join(__dirname, dir)
}
 
 
module.exports = {
 
  productionSourceMap: false,// 生产环境是否要生成 sourceMap
 
  publicPath: './',  //   部署应用包时的基本 URL
 
  outputDir: 'dist',  //   打包时输出的文件目录
 
  assetsDir: 'assets',  //   放置静态文件夹目录
 
  devServer:{},// dev环境下,webpack-dev-server 相关配置
 
  lintOnSave: false,//是否在开发环境下每次保存代码时都启用 eslint验证
 
  css:{},// css的处理
 
  chainWebpack:config=>{} //vue-cli内部的webpack配置
 
  pluginOptions:{},// 可以用来传递任何第三方插件选项
 
}

1. productionSourceMap

① productionSourceMap :false;

作用 : 把productionSourceMap 置为false,既可以减少包大小,也可以加密源码。这样打包后文件小而且别人看不到你的源码了。

②productionSourceMap :true;

作用 : 项目打包后,代码都是经过压缩加密的,如果运行时报错,输出的错误信息无法准确得知是哪里的代码报错。 有了map就可以像未加密的代码一样,准确的输出是哪一行哪一列有错。

2.publicPath

项目打包时,打包出来的文件根目录,如果我们设置成“/”则我们打包后默认都是在dist目录下,假设我们设置成"/app",我们所打包的dist目录下会生成一个app目录,打包后的资源文件都是在app目录下的,这是所有的静态资源都会找不到,所以我们一般都是设置成“/”的。

3.outputDir

项目打包时输出的文件目录,比如说设置成“dist”,那么我们打包后的目录名称就是“dist”,我们设置成“build”,打包后的目录名称就是“build”。

4.assetDir

我们放置静态资源的目录,项目刚创建时,默认都是asset,所以一般我们不会动,直接配置 assetDir:“assets”,当然,如果你不太习惯,也可以换成你想要的名字,只需要把目录名和这个名字时对应的,比如说你习惯用static,目录名称是static,那么这里就可以写成 assetsDir:“static”。

5.devServer

在dev环境下,webpck-dev-server的相关配置

devServer:{
 
port : 8080, //开发环境运行时的端口
 
https:false,//是否启用HTTPS协议
 
open:true, //项目运行成功后是否直接打开浏览器
 
hot:true,//是否开启热加载
 
overlay:true,//当出现编译错误或警告时,在浏览器中显示全屏覆盖。
 
proxy: {   //服务器代理
 
     '/api': {
        target: "api-url",   // 实际跨域请求的API地址
        secure: false,   // https请求则使用true
        ws: true,
        changeOrigin: true,  // 跨域
        // 请求地址重写  http://front-end/api/login ⇒ http://api-url/login
        pathRewrite: {
          '^/api': '/',
        }
 
    },
 
 
}

6.lintOnSave

前端程序员都会有一个通病,每次写完一点代码,哪怕写了一个单词,定义一个变量,都会习惯性的格式化一下代码,保存下代码,这个配置就是每次我们保存代码时,是否要经过esLint检查代码的,因为我个人不太习惯使用esLint,所以没有做过多了解,如果项目中有使用eslint的话,不想被检查到,就可以用,如果没有,可以不用写这个配置。

7.css的处理

css:{
 
loaderOptions:{
 
  less:{},
 
  scss:{},
 
  css:{}
 
 } 
 
}

①loaderOptions的作用:向 webpack 的预处理器 loader 传递选项。共享全局变量

②less的配置

less: {
       data:"@import "@/assets/styles/mixin.less" // 把less文件注入全局,在全局可以直接使用
    }

③scss的配置

scss: {
   prependData: `@import "@/assets/styles/theme.scss";`//全局注入scss文件,可以在文件内编写scss代码
  }

④css

css: {
   prependData: `@import "@/assets/styles/reset.css";`//全局注入scss文件,可以在文件内编写css代码
  }

8.chainWebpack

CLI内部webpack配置,会被 webpack-merge 合并入最终的 webpack 配置,有两种写法。函数和对象的形式,这里只介绍我常用的函数形式。

chainWebpack:config=>{
 
  const types = ['vue-modules', 'vue', 'normal-modules', 'normal'];
 
  config.resolve.alias.set('@', resolve('src'))//配置src别名为@
}

tips:还有很多基础配置,这些也是比较常用的配置,大家可以做个参考,也欢迎大家提出其他问题,互相交流哈~

要为Vue2项目生成vue.config.js文件,可以按照以下步骤进行操作: 1. 在Vue项目的根目录下创建一个名为vue.config.js文件。 2. 打开vue.config.js文件并添加以下代码: ```javascript const IS_PROD = ['development', 'production'].includes(process.env.NODE_ENV) module.exports = { publicPath: IS_PROD ? process.env.VUE_APP_PUBLIC_PATH : './', lintOnSave: false, runtimeCompiler: true, productionSourceMap: !IS_PROD, parallel: require('os').cpus().length > 1, pwa: {}, chainWebpack: config => { const types = ['vue-modules', 'vue', 'normal-modules', 'normal'] config.resolve.alias.set('@', resolve('src')) } } ``` 3. 保存并关闭vue.config.js文件。 这样,你就成功生成了vue.config.js文件,并且可以在其中配置一些选项来自定义Vue项目的行为。请注意,这只是一个简单的示例配置,你可以根据自己的需求进行修改和扩展。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [vue - vue.config.js中devServer配置方式](https://download.csdn.net/download/weixin_38499336/12933067)[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: 33.333333333333336%"] - *2* [Vue2.0教程 (三)vue.config配置](https://blog.csdn.net/qq_38120798/article/details/125976455)[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: 33.333333333333336%"] - *3* [vue2之vue.config.js最全配置教程](https://blog.csdn.net/xhd11257339/article/details/124062188)[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: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值