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中实现简单页面逆传值的方法

    下面是在Vue中实现简单页面逆传值的方法的攻略。首先,我们需要明确以下两个概念: 父组件:组件树中调用子组件的那个组件。 子组件:组件树中被调用的那个组件。 实现逆传值的基本思路是,子组件将要传递的值通过事件的形式传递给父组件,从而实现逆传。具体实现步骤如下: 1. 通过emit事件传递值 在子组件中需要创建一个按钮,通过该按钮触发事件。这里我们假设子组件中…

    Vue 2023年5月28日
    00
  • 梳理一下vue中的生命周期

    梳理Vue中的生命周期是了解Vue的重要组成部分之一,它可以帮助我们更好地理解Vue的工作原理以及响应式数据的流程。Vue的生命周期可以分为四个阶段: 创建阶段(Creation) 在创建阶段中,Vue组件实例会执行以下生命周期钩子函数: beforeCreate: 在实例创建之前,常用于初始化一些非响应式的数据。 created: 在实例创建之后,常用于获…

    Vue 2023年5月27日
    00
  • vue中多个倒计时实现代码实例

    下面是“vue中多个倒计时实现代码实例”的完整攻略: 1. 基本思路 在Vue中实现多个倒计时,常用的方式是创建一个计时器组件,然后在需要倒计时的组件中引用并传递参数。具体实现步骤如下: 创建一个组件,例如Countdown组件,用于显示倒计时; 在Countdown中设置一个计时器,控制倒计时的时间; 在需要倒计时的组件中引用Countdown组件,并传递…

    Vue 2023年5月28日
    00
  • Vue render渲染时间戳转时间,时间转时间戳及渲染进度条效果

    下面我将为您详细讲解“Vue render渲染时间戳转时间,时间转时间戳及渲染进度条效果”的完整攻略。 Vue render渲染时间戳转时间 在Vue的render功能中,我们经常需要将服务器端返回的时间戳转换成我们常用的时间格式。这里向大家推荐moment.js这个库,它是一个轻量级的JavaScript日期库,可以帮助我们方便地转换时间格式。下面是一个简…

    Vue 2023年5月29日
    00
  • vue+element表格实现多层数据的嵌套方式

    实现多层数据的嵌套方式,可以通过使用Element UI table组件来实现。具体步骤如下: 步骤1:定义表格结构 首先要定义表格的结构,包括表头的内容和渲染每行数据的方式。Vue的template语法可以很方便地组织表格结构,示例代码如下: <template> <el-table :data="tableData"…

    Vue 2023年5月27日
    00
  • Vuex中actions优雅处理接口请求的方法

    下面是对于“Vuex中actions优雅处理接口请求的方法”的完整攻略: 1. 使用async/await处理接口请求 async/await 是一个结合了 Promise 和 Generator 的语法糖,它能让我们以同步的方式编写异步代码。我们可以通过它来简化数据请求的处理。 首先我们需要在 actions 中编写异步请求函数。例如,我们需要获取用户的信…

    Vue 2023年5月28日
    00
  • Vue实现Excel本地下载及上传的方法详解

    下面就为您详细讲解“Vue实现Excel本地下载及上传的方法详解”。 1. Excel文件下载 1.1 安装FileSaver和XLSX FileSaver是一个用于将Blob和File对象保存到本地的JavaScript库,而XLSX则是一个解析和生成Excel文件的JavaScript库。使用npm安装这两个库: npm install file-sav…

    Vue 2023年5月28日
    00
  • Vue编译器实现代码生成方法介绍

    Vue编译器实现代码生成方法介绍 概述 Vue编译器将Vue模板编译成渲染函数,从而在浏览器上渲染出真正的页面。代码生成是Vue编译器实现的关键部分之一。它将预处理过的模板转化为可以直接执行的渲染函数。 在进行代码生成时,Vue编译器会通过模板语法分析器将模板转化为抽象语法树(AST),接着对AST进行优化处理,最后再将AST转换为渲染函数的JavaScri…

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