actuallyCompile() — vue Function Reference
Architecture documentation for the actuallyCompile() function in compileTemplate.ts from the vue codebase.
Entity Profile
Dependency Diagram
graph TD ec948229_cae8_141c_0df4_eb2f1503ddda["actuallyCompile()"] b824bd73_da14_5076_9939_3d47171265ea["compileTemplate.ts"] ec948229_cae8_141c_0df4_eb2f1503ddda -->|defined in| b824bd73_da14_5076_9939_3d47171265ea 795ab079_4dc2_c8c2_2823_264abd630fbc["compileTemplate()"] 795ab079_4dc2_c8c2_2823_264abd630fbc -->|calls| ec948229_cae8_141c_0df4_eb2f1503ddda 3c98115b_726f_620d_0dc3_3d696ff8a7c2["prefixIdentifiers()"] ec948229_cae8_141c_0df4_eb2f1503ddda -->|calls| 3c98115b_726f_620d_0dc3_3d696ff8a7c2 style ec948229_cae8_141c_0df4_eb2f1503ddda 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