vue-cli3全面配置详解

yizhihongxing

vue-cli3全面配置详解

简介

vue-cli3是vue官方提供的脚手架工具,它可以帮助我们快速搭建一个vue项目框架,包含项目中所需的各种配置项。本文将对vue-cli3的全面配置进行详细讲解,帮助初学者快速上手。

安装

若未安装node.js和npm,需先安装node.js和npm,安装方法可参照官网

全局安装vue-cli3:

npm install -g @vue/cli

创建项目

使用vue-cli3创建一个项目:

vue create hello-world

其中hello-world为项目名称,创建后会自动在当前目录下创建一个名为hello-world的文件夹,其中包含初始化的vue项目。

配置

vue-cli3默认的配置文件为vue.config.js,如果创建项目时未生成,可以手动在项目根目录创建该文件。以下为常用的配置项:

publicPath

publicPath用于指定打包后的静态文件的部署路径,如果我们想指定打包后的文件部署在一个子目录下,可以设置该项。如下示例:

module.exports = {
  publicPath: '/my-project/'
}

assetsDir

assetsDir用于指定静态资源目录,默认值为assets。如果我们想将静态资源存放在一个子目录下,可以设置该项。如下示例:

module.exports = {
  assetsDir: 'static'
}

devServer

devServer用于配置开发服务器,常用的配置项有port(指定开发服务器的端口)、proxy(配置代理)等,如下示例:

module.exports = {
  devServer: {
    port: '8080',
    // 配置代理
    proxy: {
      '/api': {
        target: 'http://localhost:3000',
        changeOrigin: true,
        pathRewrite: {
          '^/api': ''
        }
      }
    }
  }
}

chainWebpack

chainWebpack用于配置webpack链式操作,可以通过config.module.rule()方法添加loader,通过config.plugin()方法添加插件,如下示例:

module.exports = {
  chainWebpack: config => {
    // 添加loader
    config.module.rule('less')
      .test(/\.less$/)
      .use('less-loader')
        .loader('less-loader')
        .end()

    // 添加插件
    config.plugin('html')
      .tap(args => {
        args[0].title = 'My Title'
        return args
      })
  }
}

示例

示例一:部署到子路径下

vue.config.js中设置publicPath为我们想部署的子路径即可,如下所示:

module.exports = {
  publicPath: '/subdir/'
}

示例二:配置sass

使用sass-loadernode-sass即可配置sass,如下所示:

npm install --save-dev sass-loader node-sass

vue.config.js中添加以下代码:

module.exports = {
  chainWebpack: config => {
    // 添加sass-loader
    const oneOfsMap = config.module.rule('scss').oneOfs.store
    oneOfsMap.forEach(item => {
      item.use('sass-loader')
        .loader('sass-loader')
        .tap(options => ({
          ...options,
          prependData: '@import "~@/variables.scss";'
        }))
        .end()
    })
  }
}

总结

以上为vue-cli3的全面配置详解,本文提供了常用的配置项,并且提供了两个示例。希望本文能够帮助读者快速上手vue-cli3的配置。

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

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

相关文章

  • electron实现静默打印的示例代码

    下面我来详细讲解一下如何使用Electron实现静默打印的示例代码,包括如何设置打印机、如何导出PDF、如何调用打印机等过程。 1. 设置打印机 在electron中实现静默打印首先需要设置打印机。可以通过Electron中的打印功能来获取电脑上所有的可用打印机。代码如下: const {BrowserWindow} = require(‘electron’…

    Vue 2023年5月28日
    00
  • vue中轮训器的使用

    当我们需要定时刷新数据、获取最新数据时,我们可以使用Vue中的轮训器,Vue中的轮训器指的是定时器的一种应用,可以在一定周期内重复执行指定的方法。在Vue中,我们可以使用watch属性来实现轮训器。 实现步骤: 定义一个计时器,用于定时执行某个方法。 通过watch属性监听要轮训的数据,当数据改变时,触发该计时器。 当计时器执行了指定次数(或时间达到一定值)…

    Vue 2023年5月29日
    00
  • 深入理解vue.js中$watch的oldvalue与newValue

    深入理解vue.js中$watch的oldValue与newValue 在Vue.js中,$watch是一个非常核心的API,经常用来监听数据的变化。$watch的主要用法如下: watch: { ‘data.field'(newVal, oldVal) { // 当 data.field 发生变化时触发该回调函数,newVal 表示变化后的值,oldVal…

    Vue 2023年5月28日
    00
  • Vue路由传递参数与重定向的使用方法总结

    下面是详细讲解“Vue路由传递参数与重定向的使用方法总结”的完整攻略。 一、路由传递参数 1. 通过动态路由传递参数 动态路由是指路由路径中包含参数的路由,例如: const routes = [ { path: ‘/user/:id’, component: User } ] 使用 Vue Router 提供的 $router.params 来获取参数。在…

    Vue 2023年5月27日
    00
  • 优化Vue中date format的性能详解

    好的。 首先,你需要知道在 Vue.js 中如何处理日期格式化的问题。你可以使用 moment.js 或者 date-fns 等第三方库。这些库能够让日期处理变得更加方便和可靠。 但是,使用第三方库会引入额外的代码和依赖,可能会影响网站的性能。因此,优化日期格式化的性能就变得十分必要。 以下是优化日期格式化性能的几个步骤: 步骤一:避免重复计算 Vue 中的…

    Vue 2023年5月29日
    00
  • Vue 2源码解析Parse函数定义

    那么让我们开始讲解“Vue 2源码解析Parse函数定义”的完整攻略。 标题1:Vue 2源码解析Parse函数定义 标题2:什么是Parse函数 在Vue 2的源代码中,Parse函数是用于将字符串模板转换为AST的一个函数。 当我们在Vue应用程序中编写模板时,这些模板都会被转换为VNode,而VNode本质上是一个JavaScript对象,它们构成了V…

    Vue 2023年5月27日
    00
  • 使用vuex的state状态对象的5种方式

    使用 Vuex 的 state 状态对象的 5 种方式如下: 1. 直接在组件中读取 Vuex 的 state 状态对象保存了应用中大部分的共享状态,组件可以直接从 state 中读取数据。例如,我们有一个保存用户名的 state,在组件中可以这样读取: <template> <div> {{ username }} </div…

    Vue 2023年5月28日
    00
  • vue预览 pdf、word、xls、ppt、txt文件的实现方法

    实现网页预览PDF、Word、Excel、PPT、TXT等各种文件格式,一般需要使用第三方库进行实现。本文将介绍如何使用Vue和依赖库来预览这些文件格式。 1. 安装vue2-pdf预览库 Vue2-pdf 是一个基于 Vue 2.0 开发的 PDF 预览组件,支持PDF的浏览、缩放、翻页和导出等操作。具体实现步骤: 安装依赖 npm install vue…

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