选项参考
transformAssetUrls
类型:
{ [tag: string]: string | Array<string> }
默认值:
{
video: ['src', 'poster'],
source: 'src',
img: 'src',
image: 'xlink:href'
}
在模板编译过程中,编译器可以将某些特性转换为 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-loader
和 cache-loader
之间的交互使用了 loader 的内联 import 语法,!
将会被认为是不同 loaders 之间的分隔符,所以请确保你的 cacheDirectory
路径中不包含 !
。