vue.config.js完整配置教程

下面是“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获取后台json字符串方式

    获取后台 JSON 字符串的方式在 Vue.js 中有很多种方法,下面介绍两种常见的方法: 方法一 使用Vue.js内置的http模块 (已弃用) 在 Vue.js 中使用 http 模块可以直接获取后台的 JSON 字符串,示例代码如下: <template> <div> <h2>{{title}}</h2>…

    Vue 2023年5月27日
    00
  • 解决idea中debug工具栏消失后如何显示的问题

    当我们使用IntelliJ IDEA进行调试时,有时会遇到调试工具栏消失的问题,这样我们就无法查看和控制调试过程中的变量值、控制程序运行等操作。在这里,我将介绍一些方法来解决debug工具栏消失的问题。 方法一:检查工具栏是否被隐藏 有时候,我们可能会意外地将debug工具栏隐藏起来了,所以第一步是确认一下工具栏是否被隐藏。你可以使用以下步骤来检查: 点击”…

    Vue 2023年5月28日
    00
  • vue parseHTML函数源码解析 AST预备知识

    下面我将给出“vue parseHTML函数源码解析 AST预备知识”的完整攻略。 一、概述 在Vue的源码中,parseHTML函数是实现模板编译的关键函数之一。parseHTML函数的作用是将HTML字符串解析为AST(抽象语法树)。 AST是一种抽象的树状表达方式,它将代码的语法结构进行了抽象和归纳,并以树的形式表现出来。在Vue中,AST用于表示模板…

    Vue 2023年5月27日
    00
  • axios请求二次封装之避免重复发送请求

    让我给你详细讲解“axios请求二次封装之避免重复发送请求”的完整攻略。 在前端开发中,我们经常使用axios这个库来进行http请求,但是如果在某个操作频繁执行时,如果频繁发送多次相同的请求,会浪费网络资源和服务器资源,可能还会造成意外的程序错误。因此,在使用axios时,我们需要进行请求二次封装,避免重复发送请求。 以下是实现这个目标的步骤: 1. 安装…

    Vue 2023年5月28日
    00
  • vue组件watch属性实例讲解

    下面来详细讲解一下“Vue组件watch属性实例讲解”的完整攻略。 1. watch属性简介 在 Vue 组件中,watch 属性是用于监听数据变化并作出相应行为的一种功能。通俗的说,就是当我们需要对某个数据进行监听,并且当数据发生变化时,希望自动执行一些操作,那么就可以使用 watch 属性。 2. watch属性的基础使用 watch 属性的基础使用格式…

    Vue 2023年5月29日
    00
  • vue实现一个炫酷的日历组件

    下面是详细的攻略,首先需要明确的是,实现一个炫酷的日历组件需要涉及到许多知识点,包括 Vue 组件化、CSS 动画、日期计算等等。因此,分别从这些方面来介绍实现过程。 1. Vue 组件化 首先,我们需要将日历组件拆分成多个组件,以便于管理和复用。 组件分为年、月、日期三个层级。 Year.vue: <template> <div clas…

    Vue 2023年5月28日
    00
  • vue项目中使用ts(typescript)入门教程

    下面我会详细讲解“Vue 项目中使用 TypeScript 入门教程”的完整攻略,包括两个相关的示例。 1. 初始化 Vue TypeScript 项目 首先,我们需要在命令行中使用 Vue CLI 命令来初始化一个 Vue TypeScript 项目。在打开终端之后,依次输入以下命令: npm install -g @vue/cli vue create …

    Vue 2023年5月27日
    00
  • 使用vue打包时vendor文件过大或者是app.js文件很大的问题

    处理vue打包时vendor文件过大或者是app.js文件很大的问题可以通过以下方法进行: 1. 使用动态导入 (Dynamic Import) 动态导入是Vue.js 2.6版本开始提供的一个特性,可以让你在运行时(runtime)条件下去组织代码切割,从而减小打包体积。它是通过 import() 语法实现的。使用动态导入可以减少app.js的大小,提高页…

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