vue.config.js常用配置详解

yizhihongxing

当你在Vue项目中需要自定义Webpack的配置时,可以通过在项目根目录下创建vue.config.js文件来实现。Vue CLI读取该文件,并根据其中的配置修改Webpack的默认配置以满足你的需要。以下是对vue.config.js文件的常用配置的详细说明。

基本配置

以下是最简单的vue.config.js文件:

module.exports = {
  // 选项...
}

在这个基础上,你可以添加一些选项,以自定义Webpack配置。以下是一些可用选项及其默认值:

publicPath

  • 类型:string
  • 默认值:'/'
  • 作用:部署应用时的基本 URL。用法和 webpack 本身的 output.publicPath 一致,但 vue-cli 在一些其他地方也需要用到这个值,所以请始终使用 publicPath 而不要直接修改 webpack 的 output.publicPath。

outputDir

  • 类型:string
  • 默认值:'dist'
  • 作用:当运行 vue-cli-service build 时生成的生产环境构建文件的目录。

assetsDir

  • 类型:string
  • 默认值:''
  • 作用:放置生成的静态资源 (js、css、img、fonts) 的目录的相对路径,默认值为 '',即在直接放在输出目录中(也可以是一个相对于outputDir的子目录)

indexPath

  • 类型:string
  • 默认值:'index.html'
  • 作用:指定生成的 index.html 的输出路径 (相对于 outputDir)。也可以是一个绝对路径。

以下是一个示例:

module.exports = {
  publicPath: process.env.NODE_ENV === 'production'
    ? '/production-sub-path/'
    : '/'
}

这个示例中,如果你运行 npm run build 命令,那么你的 production 构建输出文件将生成在我的部署域名的 /production-sub-path/ 下面。

高级配置

如果你需要更细粒度地控制某个部分的Webpack配置,你可以通过使用chainWebpack选项,手动修改Webpack配置。这个选项会接收一个 Webpack Chain Instance,允许对内部的Webpack配置进行更细粒度的修改。

以下是一个示例,用于将所有的内敛svg图标转为外链引用:

module.exports = {
  chainWebpack: config => {
    //原生vue.config.js生成的webpack.config.js  
    //不知道如何新建一个vue.config.js的同学可以  
    //运行 vue ui,通过web界面创建,自动创建。
    //向config.module.rules中添加一个rule
    config.module
      .rule('svg-inline')
      .test(/\.(svg)(\?.*)?$/)
      .use('svg-inline-loader')
      .loader('svg-inline-loader')
      .end();

    //以html-webpack-plugin插件的参数为例
    //更改html-webpack-plugin的html处理方式
    config.plugin('html')
      .tap(args => {
        args[0].inlineSource = '.(svg|png|jpg|gif)$';
        return args;
      });

    //更改url-loader的处理方式
    config.module
      .rule('images')
      .use('url-loader')
      .tap(options => {
        options.limit = 10240;
        return options;
      });
  }
};

chainWebpack是一个回调,可以访问内部的Webpack配置。

Vue CLI 默认将webpack-dev-server客户端入口添加到生成的index.html,以自动注入代表客户端的脚本路径,以实现实时重载和相应注销。如果你的应用程序需要比默认更复杂的html结构,你可以通过configureWebpack选项更改其行为。

以下是一个示例:

module.exports = {
  configureWebpack: {
    plugins: [
      new MyAwesomeWebpackPlugin()
    ]
  }
};

这个示例中,我们向内部的Webpack配置添加了自定义插件MyAwesomeWebpackPlugin。

总结

在这篇文章中,我们介绍了vue.config.js常用配置,并提供了一些示例。我们看到,通过Vue CLI提供的选项,可以轻松地自定义Vue项目的Webpack配置。如果你需要更细粒度地控制Webpack配置,你可以使用chainWebpack和configureWebpack选项进行修改。

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

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

相关文章

  • Vue.js中的绑定样式实现

    Vue.js是一个流行的JavaScript框架,其中动态绑定样式是一个常见的需求。本文将为您介绍Vue.js中如何使用样式绑定。 1. 绑定内联样式 Vue.js中提供了非常简单的方法来绑定内联样式。只需要在元素上使用:style关键字,然后将需要绑定的样式以JavaScript对象的形式传递即可。 示例代码如下: <div :style=&quot…

    Vue 2023年5月27日
    00
  • Vue与Axios的传参方式实例详解

    标题:Vue与Axios的传参方式实例详解 介绍:Vue是一款流行的前端框架,而Axios则是一个非常强大的异步请求库。在Vue项目中,我们经常需要发送请求到服务器,因此Vue和Axios的结合使用非常常见。本文将详细讲解Vue和Axios的传参方式,包括两个示例说明,帮助大家更好地掌握相应的技能。 1. GET请求的传参方式 GET请求将参数放在URL的后…

    Vue 2023年5月28日
    00
  • vue-cli3搭建项目的详细步骤

    下面是vue-cli3搭建项目的详细步骤攻略: 步骤一:安装vue-cli3 在命令行中输入以下命令安装 vue-cli3: npm install -g @vue/cli 这里使用了 npm 工具来安装 @vue/cli 包,该工具是 Node.js 官方提供的安装包管理工具。 步骤二:创建新项目 在命令行中输入以下命令来创建新的 Vue 项目: vue …

    Vue 2023年5月27日
    00
  • vue.js实现备忘录功能的方法

    下面我来详细讲解一下“vue.js实现备忘录功能的方法”的完整攻略。 1. 确定页面结构 首先需要在页面中确定备忘录的展示位置或容器。此处推荐使用<div>标签做为备忘录的容器,所有备忘录信息都将渲染到这个容器中。 <div id="memos"></div> 2. 创建数据模型 接下来要创建备忘录的数…

    Vue 2023年5月27日
    00
  • vue粘贴复制功能的实现过程记录

    下面我将对 “Vue粘贴复制功能的实现过程记录” 进行详细的讲解和攻略: 1. 实现前的准备工作 在实现粘贴复制功能之前,我们需要做一些准备工作,比如引入clipboard.js库和vue-clipboard2插件等,以及对要进行复制的节点进行选择和绑定事件等。 1.1 引入clipboard.js库和vue-clipboard2插件 引入clipboard…

    Vue 2023年5月27日
    00
  • 在Vue中使用WebScoket 会怎么样?

    在Vue中使用WebSocket可以实现双向通信,实时更新数据,并且极大地提升了用户体验。下面是使用WebSocket的完整攻略: 1. 安装WebSocket库 Vue项目中可以使用vue-native-websocket等WebSocket库。安装方法如下: npm install vue-native-websocket 2. 引入WebSocket库…

    Vue 2023年5月28日
    00
  • 详解vue2.0组件通信各种情况总结与实例分析

    详解vue2.0组件通信各种情况总结与实例分析 在Vue的组件化开发中,不同组件之间的通信是非常常见的需求。Vue提供了多种方式来实现组件之间的通信,根据使用场景和需求的不同,我们可以选择不同的方式。下面我们分别来详细讲解这些通信方式及其使用场景。 组件通信方式 父子组件通信 父子组件通信是最为常见的一种组件通信方式,在父组件内部渲染子组件,子组件接受父组件…

    Vue 2023年5月27日
    00
  • Vue实现在线预览pdf文件功能(利用pdf.js/iframe/embed)

    下面我将为你详细讲解如何用Vue实现在线预览pdf文件功能,对应的技术包括pdf.js、iframe、embed等。 1. 准备工作 首先,需要下载pdf.js(官网地址)并引入到Vue项目中。在main.js中引入如下: import pdfjsLib from ‘pdfjs-dist/build/pdf’; import pdfWorker from ‘…

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