Home / Function/ genSSRElement() — vue Function Reference

genSSRElement() — vue Function Reference

Architecture documentation for the genSSRElement() function in codegen.ts from the vue codebase.

Entity Profile

Dependency Diagram

graph TD
  f524af7e_1682_aa62_bd3c_c1210416da99["genSSRElement()"]
  4aaa14b9_d580_5a66_5221_1be3a11a7eed["codegen.ts"]
  f524af7e_1682_aa62_bd3c_c1210416da99 -->|defined in| 4aaa14b9_d580_5a66_5221_1be3a11a7eed
  d3fcbedd_5774_268b_b603_8b87daaea208["generate()"]
  d3fcbedd_5774_268b_b603_8b87daaea208 -->|calls| f524af7e_1682_aa62_bd3c_c1210416da99
  57406dbb_3740_32bc_00ad_a3515b8c8ee6["genSSRNode()"]
  57406dbb_3740_32bc_00ad_a3515b8c8ee6 -->|calls| f524af7e_1682_aa62_bd3c_c1210416da99
  c9f5cd05_4bd2_e40a_83fa_edb34d6fd988["genChildrenAsStringNode()"]
  f524af7e_1682_aa62_bd3c_c1210416da99 -->|calls| c9f5cd05_4bd2_e40a_83fa_edb34d6fd988
  9b3a663f_695e_152f_f435_63be2d53c2ef["genSSRChildren()"]
  f524af7e_1682_aa62_bd3c_c1210416da99 -->|calls| 9b3a663f_695e_152f_f435_63be2d53c2ef
  57afbc82_ac26_5285_92dc_265f19fffcdb["genStringElement()"]
  f524af7e_1682_aa62_bd3c_c1210416da99 -->|calls| 57afbc82_ac26_5285_92dc_265f19fffcdb
  b16796bd_68b9_6a04_0a88_db0f3e9e23a9["genStringElementWithChildren()"]
  f524af7e_1682_aa62_bd3c_c1210416da99 -->|calls| b16796bd_68b9_6a04_0a88_db0f3e9e23a9
  8de303a2_08ca_7ff7_cae1_7a27003c1764["genNormalElement()"]
  f524af7e_1682_aa62_bd3c_c1210416da99 -->|calls| 8de303a2_08ca_7ff7_cae1_7a27003c1764
  style f524af7e_1682_aa62_bd3c_c1210416da99 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/server-renderer/src/optimizing-compiler/codegen.ts lines 50–78

function genSSRElement(el: ASTElement, state: CodegenState): string {
  if (el.for && !el.forProcessed) {
    return genFor(el, state, genSSRElement)
  } else if (el.if && !el.ifProcessed) {
    return genIf(el, state, genSSRElement)
  } else if (el.tag === 'template' && !el.slotTarget) {
    return el.ssrOptimizability === optimizability.FULL
      ? genChildrenAsStringNode(el, state)
      : genSSRChildren(el, state) || 'void 0'
  }

  switch (el.ssrOptimizability) {
    case optimizability.FULL:
      // stringify whole tree
      return genStringElement(el, state)
    case optimizability.SELF:
      // stringify self and check children
      return genStringElementWithChildren(el, state)
    case optimizability.CHILDREN:
      // generate self as VNode and stringify children
      return genNormalElement(el, state, true)
    case optimizability.PARTIAL:
      // generate self as VNode and check children
      return genNormalElement(el, state, false)
    default:
      // bail whole tree
      return genElement(el, state)
  }
}

Subdomains

Frequently Asked Questions

What does genSSRElement() do?
genSSRElement() is a function in the vue codebase, defined in packages/server-renderer/src/optimizing-compiler/codegen.ts.
Where is genSSRElement() defined?
genSSRElement() is defined in packages/server-renderer/src/optimizing-compiler/codegen.ts at line 50.
What does genSSRElement() call?
genSSRElement() calls 5 function(s): genChildrenAsStringNode, genNormalElement, genSSRChildren, genStringElement, genStringElementWithChildren.
What calls genSSRElement()?
genSSRElement() is called by 2 function(s): genSSRNode, generate.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free