vue.config.js完整配置教程

yizhihongxing

下面是“vue.config.js完整配置教程”的完整攻略。

1. 什么是vue.config.js文件

vue.config.js是一个可选的配置文件,如果项目的根目录中存在vue.config.js文件,那么它会被@vue/cli-service自动加载。你也可以通过这个文件来自定义@vue/cli-service的一些行为,或者是扩展Webpack配置。

2. 如何在项目中添加vue.config.js文件

在项目根目录下新建vue.config.js文件,并将需要自定义的配置导出即可。

示例示范:在项目根目录下的vue.config.js文件中添加对Webpack设置externals选项的配置,将vuevue-router库设置为外部库。

module.exports = {
  configureWebpack: {
    externals: {
      'vue': 'Vue',
      'vue-router': 'VueRouter'
    }
  }
}

3. vue.config.js文件可配置的内容

3.1 publicPath

publicPath选项用于指定项目的公共路径,可以用于将静态资源部署到CDN服务上时使用。

示例:将publicPath指定为CDN服务地址,如下:

module.exports = {
  publicPath: 'https://cdn.example.com/'
}

3.2 outputDir

outputDir选项用于指定项目的打包输出目录,默认为dist目录。

示例:将outputDir指定为build目录,如下:

module.exports = {
  outputDir: 'build'
}

3.3 css

css选项用于配置CSS预处理器的选项。

示例:配置Sass的选项,如下:

module.exports = {
  css: {
    loaderOptions: {
      sass: {
        data: `
          @import '@/styles/variables.scss';
        `
      }
    }
  }
}

3.4 devServer

devServer选项用于配置开发服务器的行为。

示例1:配置代理服务器,如下:

module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: 'http://localhost:3000',
        pathRewrite: {
          '^/api': ''
        }
      }
    }
  }
}

示例2:配置https开发服务器,如下:

module.exports = {
  devServer: {
    https: true
  }
};

3.5 chainWebpack

chainWebpack选项用于自定义Webpack配置,允许你修改Webpack的默认配置。可以通过config.module.rule来增加、修改、删除Webpack规则。可以通过config.plugins来增加、修改、删除Webpack插件。

示例:在打包时排除掉未使用的Moment.js插件,并增加一个自定义插件MyPlugin,如下:

const MomentLocalesPlugin = require('moment-locales-webpack-plugin');

module.exports = {
  chainWebpack: config => {
    // 移除moment所有没用的本地化内容
    config.plugin('moment-locale').use(MomentLocalesPlugin, [{
      localesToKeep: ['zh-cn']
    }]);

    //增加自定义插件
    config.plugin('my-plugin').use(MyPlugin, [{
      options: {}
    }]);
  }
}

3.6 configureWebpack

configureWebpack选项用于修改原始的Webpack配置。如果configureWebpack选项被提供,那么它将优先于其他配置文件中的配置。

示例:自定义babel-loader配置,如下:

module.exports = {
  configureWebpack: {
    module: {
      rules: [
        {
          test: /\.m?js$/,
          exclude: /(node_modules|bower_components)/,
          use: {
            loader: 'babel-loader',
            options: {
              presets: ['@babel/preset-env'],
              plugins: [
                [
                  '@babel/plugin-transform-runtime',
                  {
                    corejs: 3
                  }
                ]
              ]
            }
          }
        }
      ]
    }
  }
}

4. 总结

以上就是vue.config.js的完整配置攻略了。根据不同的需求,选取合适的选项来对自己的项目进行配置,可以帮助我们更好的完成项目的开发。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue.config.js完整配置教程 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • vue添加axios,并且指定baseurl的方法

    下面为你详细讲解“Vue添加Axios,并且指定BaseURL的方法”: 1. 安装 Axios 我们需要先安装 Axios 库,可以通过 npm 安装,命令如下: npm install axios –save 2. 引入 Axios 安装完成后,我们需要先引入 Axios 库,建议在 main.js 中引入,然后在 Vue.prototype 上挂载 …

    Vue 2023年5月29日
    00
  • Vue3新状态管理工具实例详解

    Vue3新状态管理工具实例详解 Vue.js是一个基于MVVM模式的前端框架,目前Vue.js的使用非常普及和流行。在Vue.js的应用开发中,状态管理是必不可少的一部分,因此Vue.js提供了Vuex状态管理工具来帮助我们进行管理和组织应用中的状态数据。而最新的Vue.js版本——Vue3也推出了新的状态管理工具——@vue/reactivity。 什么是…

    Vue 2023年5月29日
    00
  • Vue分页组件实现过程详解

    下面是详细讲解“Vue分页组件实现过程详解”的完整攻略。 1. 分页组件概述 分页组件是网页中常用的组件之一。它用于在一页内容过多的情况下,将内容分为多页展示,便于用户浏览和操作。Vue.js在处理分页组件时,提供了一种简单且高度可定制的方式。 2. 分页组件实现的基本步骤 2.1 设计组件结构:包括需求分析,页面布局设计,功能需求设计。 2.2 实现组件结…

    Vue 2023年5月27日
    00
  • Flowable中定时器的玩法详解

    Flowable中定时器的玩法详解 在Flowable中,定时器是一个非常有用的机制,通过它可以实现一些定时执行的任务,比如定时发送邮件、自动归档数据等等。本文将详细介绍Flowable中定时器的使用方法。 什么是定时器 定时器是在流程执行的某个节点上设置一个定时器,然后在设定的时间点上自动执行某些动作的机制。比如,我们可以设置一个定时器,在一个任务节点上,…

    Vue 2023年5月28日
    00
  • 详解Vue生命周期和MVVM框架

    让我详细讲解”详解Vue生命周期和MVVM框架”的完整攻略。 首先,让我们来了解一下Vue生命周期。Vue组件有8个生命周期钩子函数,可以在Vue组件的生命周期中执行一些操作。 组件实例的生命周期可以分为四个阶段:创建、挂载、更新、销毁。下面是Vue生命周期的详细解释: 创建 beforeCreate:在实例初始化之后,数据观测(data observer)…

    Vue 2023年5月28日
    00
  • vue部署包可配置后台接口地址的方法

    部署Vue前端应用时,可能存在需要动态配置后台接口地址的情况,比如区分开发环境、测试环境和生产环境的接口地址不同,如果需要每次手动修改这些接口地址,非常麻烦和容易遗漏,因此需要使用一些方法来实现动态配置。 下面就是一个可以用于Vue部署包可配置后台接口地址的方法。 1. 配置文件定义 Vue项目可以通过定义不同环境的配置文件,分别来指定不同环境的后台接口地址…

    Vue 2023年5月28日
    00
  • Vue如何为GET或POST请求设置请求头

    要为Vue的GET或POST请求设置请求头,需要使用Vue提供的Axios库来发送HTTP请求。Axios是一个简单易用的基于Promise的HTTP库。可以使用Axios来添加自定义请求头信息。以下是详细讲解“Vue如何为GET或POST请求设置请求头”的完整攻略。 添加全局请求头 要在所有Axios请求中添加相同的请求头,可以使用Axios提供的defa…

    Vue 2023年5月28日
    00
  • js中为什么Proxy一定要配合Reflect使用

    Proxy 是 ES6 中新增的功能,可以让我们拦截对象的默认行为,比如对对象的读写和属性删除等操作进行拦截。但是,Proxy 内部原本默认的操作会被我们拦截,如果我们不写任何操作的话就会出现一些意料之外的问题,因此需要配合 Reflect 来使用。 Reflect 是一个内置对象,它提供了多个与对象基本操作相关的方法,例如:Reflect.get()、Re…

    Vue 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部