vue.config.js 配置参考

文章目录

    • 属性说明
    • 常用完整配置

属性说明

vue.config.js是一个可选的配置文件,如果项目的 (和 package.json 同级的) 根目录中存在这个文件,那么它会被 @vue/cli-service 自动加载。你也可以使用 package.json 中的 vue 字段,但是注意这种写法需要你严格遵照 JSON 的格式来写。

若没有vue.config.js文件可以自行在根目录创建。

// vue.config.js
module.exports = {
    // 选项
}

baseUrl
从 Vue CLI 3.3 起已弃用,请使用publicPath

publicPath

  • 默认:'/'

部署应用包时的基本 URL,Vue CLI 会假设你的应用是被部署在一个域名的根路径上,如果是部署在一个子路径上,比如在https://www.my-app.com/my-app/,则设置publicPath: /my-app/
这个值也可以被设置为空字符串 ('') 或是相对路径 ('./'),这样所有的资源都会被链接为相对路径,方便迁移。

相对publicPath的限制,在以下情况下,应当避免使用相对 publicPath::

  • 当使用基于 HTML5 history.pushState 的路由时;
  • 当使用 pages 选项构建多页面应用时。

outputDir

  • 默认:‘dist’

当运行vue-cli-service build时生成的生产环境构建文件的目录。注意目标目录在构建之前会被清除 (构建时传入--no-clean 可关闭该行为)。

请始终使用outputDir而不要修改 webpackoutput.path

assetsDir

  • 默认:''

放置生成的静态资源 (js、css、img、fonts)的 (相对于 outputDir 的) 目录。

从生成的资源覆写 filename 或 chunkFilename 时,assetsDir 会被忽略。

indexPath

  • 默认:'index.html'

指定生成的index.html 的输出路径 (相对于 outputDir)。也可以是一个绝对路径。

filenameHashing

  • 默认:true

默认情况下,生成的静态资源在它们的文件名中包含了hash 以便更好的控制缓存。然而,这也要求index的 HTML 是被 Vue CLI自动生成的。如果你无法使用 Vue CLI 生成的 index HTML,你可以通过将这个选项设为false 来关闭文件名哈希。

pages

  • 默认:undefined

在 multi-page 模式下构建应用。每个“page”应该有一个对应的 JavaScript 入口文件。其值应该是一个对象,对象的 key 是入口的名字,value 可以是对象或字符串,类似:

module.exports = {
  pages: {
    index: {
      // page 的入口
      entry: 'src/index/main.js',
      // 模板来源
      template: 'public/index.html',
      // 在 dist/index.html 的输出
      filename: 'index.html',
      // 当使用 title 选项时,
      // template 中的 title 标签需要是 <%= htmlWebpackPlugin.options.title %>
      title: 'Index Page',
      // 在这个页面中包含的块,默认情况下会包含
      // 提取出来的通用 chunk 和 vendor chunk。
      chunks: ['chunk-vendors', 'chunk-common', 'index']
    },
    // 当使用只有入口的字符串格式时,
    // 模板会被推导为 `public/subpage.html`
    // 并且如果找不到的话,就回退到 `public/index.html`。
    // 输出文件名会被推导为 `subpage.html`。
    subpage: 'src/subpage/main.js'
  }
}

lintOnSave

  • 默认:default (可选值:‘warning’ | ‘default’ | ‘error’)

是否在开发环境下通过eslint-loader在每次保存时lint代码。这个值会在 @vue/cli-plugin-eslint被安装之后生效。

说明
true / ‘warning’ 编译警告,仅仅会被输出到命令行,且不会使得编译失败
default 错误在开发时直接显示在浏览器中,编译错误,同时也意味着 lint 错误将会导致编译失败
error 编译错误,导致编译失败

runtimeCompiler

  • 默认:false

是否使用包含运行时编译器的 Vue 构建版本。设置为 true 后你就可以在 Vue 组件中使用 template选项了,但是这会让你的应用额外增加 10kb 左右。

在使用函数式组件的时候就需要配置true

transpileDependencies

  • 默认:[]

默认情况下babel-loader会忽略所有 node_modules中的文件。如果你想要通过 Babel 显式转译一个依赖,可以在这个选项中列出来。

productionSourceMap

  • 默认:true

如果你不需要生产环境的 source map,可以将其设置为false 以加速生产环境构建。

crossorigin

  • 默认:undefined

设置生成的 HTML

你可能感兴趣的:(Vue,vue,vue.config.js,config)