选项参考

transformAssetUrls

  • 类型:{ [tag: string]: string | Array<string> }

  • 默认值:

  1. {
  2. video: ['src', 'poster'],
  3. source: 'src',
  4. img: 'src',
  5. image: 'xlink:href'
  6. }

在模板编译过程中,编译器可以将某些特性转换为 require 调用,例如 src 中的 URL。因此这些目标资源可以被 webpack 处理。例如 <img src="./foo.png"> 会找到你文件系统中的 ./foo.png 并将其作为一个依赖包含在你的包里。

compiler

  • 类型:VueTemplateCompiler

  • 默认值:require('vue-template-compiler')

覆写用来编译单文件组件中 <template> 块的默认编译器。

compilerOptions

  • 类型:Object

  • 默认值:{}

模板编译器的选项。当使用默认的 vue-template-compiler 的时候,你可以使用这个选项来添加自定义编译器指令、模块或通过 { preserveWhitespace: false } 放弃模板标签之间的空格。

详情查阅 vue-template-compiler 选项参考.

transpileOptions

  • 类型:Object

  • 默认值:{}

为渲染函数的生成码配置从 ES2015+ 到 ES5 的转译选项。这里的转译器是一份 Buble 的 fork,因此你可以在这里查阅可用的选项。

模板渲染函数编译支持一个特殊的变换 stripWith (默认启用),它会删除生成的渲染函数中的 with 用法,使它们兼容严格模式。

optimizeSSR

  • 类型:boolean

  • 默认值:当 webpack 配置中包含 target: 'node'vue-template-compiler 版本号大于等于 2.4.0 时为 true

开启 Vue 2.4 服务端渲染的编译优化之后,渲染函数将会把返回的 vdom 树的一部分编译为字符串,以提升服务端渲染的性能。在一些情况下,你可能想要明确地将其关掉,因为该渲染函数只能用于服务端渲染,而不能用于客户端渲染或测试环境。

hotReload

  • 类型:boolean

  • 默认值:在开发环境下是 true,在生产环境下或 webpack 配置中有 target: 'node' 的时候是 false

  • 允许的值:false (true 会强制热重载,即便是生产环境或 target: 'node' 时)

是否使用 webpack 的模块热替换在浏览器中应用变更而不重载整个页面。用这个选项 (值设为 false) 在开发环境下关闭热重载特性。

productionMode

  • 类型:boolean
  • 默认值:process.env.NODE_ENV === 'production'
    强制指定为生产环境,即禁止 loader 注入只在开发环境有效的代码 (例如 hot-reload 相关的代码)。

shadowMode

  • 类型:boolean
  • 默认值:false
    编译用于 Shadow DOM 内部的组件。在该模式下,组件的样式会被注入到 this.$root.$options.shadowRoot,而不是文档的 head 部分。

cacheDirectory / cacheIdentifier

  • 类型:string
  • 默认值:undefined
    当这两个选项同时被设置时,开启基于文件系统的模板编译缓存 (需要在工程里安装 cache-loader)。

注意

在内部,vue-loadercache-loader 之间的交互使用了 loader 的内联 import 语法! 将会被认为是不同 loaders 之间的分隔符,所以请确保你的 cacheDirectory 路径中不包含 !

原文: https://vue-loader.vuejs.org/zh/options.html