Commit 79fbcd2d authored by Evan You's avatar Evan You

chore: lazy-require compiler in case user provides custom compiler

parent 5070877a
const qs = require('querystring') const qs = require('querystring')
const loaderUtils = require('loader-utils') const loaderUtils = require('loader-utils')
const compiler = require('vue-template-compiler')
const { compileTemplate } = require('@vue/component-compiler-utils') const { compileTemplate } = require('@vue/component-compiler-utils')
const { genTemplateHotReloadCode } = require('../codegen/hotReload') const { genTemplateHotReloadCode } = require('../codegen/hotReload')
...@@ -22,6 +21,8 @@ module.exports = function (source) { ...@@ -22,6 +21,8 @@ module.exports = function (source) {
const isFunctional = query.functional const isFunctional = query.functional
const needsHotReload = !isServer && !isProduction && options.hotReload !== false const needsHotReload = !isServer && !isProduction && options.hotReload !== false
// allow using custom compiler via options
const compiler = options.compiler || require('vue-template-compiler')
const compilerOptions = Object.assign({}, options.compilerOptions, { const compilerOptions = Object.assign({}, options.compilerOptions, {
scopeId: query.scoped ? `data-v-${id}` : null, scopeId: query.scoped ? `data-v-${id}` : null,
comments: query.comments comments: query.comments
...@@ -31,8 +32,7 @@ module.exports = function (source) { ...@@ -31,8 +32,7 @@ module.exports = function (source) {
const finalOptions = { const finalOptions = {
source, source,
filename: this.resourcePath, filename: this.resourcePath,
// allow using custom compiler via options compiler,
compiler: options.compiler || compiler,
compilerOptions, compilerOptions,
// handle possible lang="xxx" // handle possible lang="xxx"
preprocessLang: query.lang, preprocessLang: query.lang,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment