actuallyCompile() — vue Function Reference
Architecture documentation for the actuallyCompile() function in compileTemplate.ts from the vue codebase.
Entity Profile
Dependency Diagram
graph TD d0674cfc_3db7_1770_6611_e035dd09e78e["actuallyCompile()"] ff52d56b_a346_9a70_961a_c5aca0690626["compileTemplate.ts"] d0674cfc_3db7_1770_6611_e035dd09e78e -->|defined in| ff52d56b_a346_9a70_961a_c5aca0690626 20ac56a9_ab36_2999_6e64_025bb93c03a1["compileTemplate()"] 20ac56a9_ab36_2999_6e64_025bb93c03a1 -->|calls| d0674cfc_3db7_1770_6611_e035dd09e78e fefea729_cf80_e4f2_675b_000b41fc85a5["prefixIdentifiers()"] d0674cfc_3db7_1770_6611_e035dd09e78e -->|calls| fefea729_cf80_e4f2_675b_000b41fc85a5 style d0674cfc_3db7_1770_6611_e035dd09e78e fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/compiler-sfc/src/compileTemplate.ts lines 97–205
function actuallyCompile(
options: SFCTemplateCompileOptions
): SFCTemplateCompileResults {
const {
source,
compiler = _compiler,
compilerOptions = {},
transpileOptions = {},
transformAssetUrls,
transformAssetUrlsOptions,
isProduction = process.env.NODE_ENV === 'production',
isFunctional = false,
optimizeSSR = false,
prettify = true,
isTS = false,
bindings
} = options
const compile =
optimizeSSR && compiler.ssrCompile ? compiler.ssrCompile : compiler.compile
let finalCompilerOptions = compilerOptions
if (transformAssetUrls) {
const builtInModules = [
transformAssetUrls === true
? assetUrlsModule(undefined, transformAssetUrlsOptions)
: assetUrlsModule(transformAssetUrls, transformAssetUrlsOptions),
srcsetModule(transformAssetUrlsOptions)
]
finalCompilerOptions = Object.assign({}, compilerOptions, {
modules: [...builtInModules, ...(compilerOptions.modules || [])],
filename: options.filename
})
}
finalCompilerOptions.bindings = bindings
const { ast, render, staticRenderFns, tips, errors } = compile(
source,
finalCompilerOptions
)
if (errors && errors.length) {
return {
ast,
code: `var render = function () {}\n` + `var staticRenderFns = []\n`,
source,
tips,
errors
}
} else {
// stripping `with` usage
let code =
`var __render__ = ${prefixIdentifiers(
`function render(${isFunctional ? `_c,_vm` : ``}){${render}\n}`,
isFunctional,
isTS,
transpileOptions,
bindings
)}\n` +
`var __staticRenderFns__ = [${staticRenderFns.map(code =>
prefixIdentifiers(
`function (${isFunctional ? `_c,_vm` : ``}){${code}\n}`,
isFunctional,
isTS,
transpileOptions,
bindings
)
)}]` +
`\n`
// #23 we use __render__ to avoid `render` not being prefixed by the
// transpiler when stripping with, but revert it back to `render` to
// maintain backwards compat
code = code.replace(/\s__(render|staticRenderFns)__\s/g, ' $1 ')
if (!isProduction) {
// mark with stripped (this enables Vue to use correct runtime proxy
// detection)
code += `render._withStripped = true`
if (prettify) {
Domain
Subdomains
Defined In
Calls
Called By
Source
Frequently Asked Questions
What does actuallyCompile() do?
actuallyCompile() is a function in the vue codebase, defined in packages/compiler-sfc/src/compileTemplate.ts.
Where is actuallyCompile() defined?
actuallyCompile() is defined in packages/compiler-sfc/src/compileTemplate.ts at line 97.
What does actuallyCompile() call?
actuallyCompile() calls 1 function(s): prefixIdentifiers.
What calls actuallyCompile()?
actuallyCompile() is called by 1 function(s): compileTemplate.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free