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
  55398ede_0597_fb47_dd8c_edb8c5aacdad["genSSRElement()"]
  4e39da40_6cb1_aa2b_3351_d7600a4f01d0["generate()"]
  4e39da40_6cb1_aa2b_3351_d7600a4f01d0 -->|calls| 55398ede_0597_fb47_dd8c_edb8c5aacdad
  1b01fbf2_a601_0ce6_3f9e_b35e44d0da24["genSSRNode()"]
  1b01fbf2_a601_0ce6_3f9e_b35e44d0da24 -->|calls| 55398ede_0597_fb47_dd8c_edb8c5aacdad
  6f9060e9_4d2c_0a9f_e876_7334660278e7["genFor()"]
  55398ede_0597_fb47_dd8c_edb8c5aacdad -->|calls| 6f9060e9_4d2c_0a9f_e876_7334660278e7
  e7c86dbc_f669_e04c_eae5_85c469684781["genIf()"]
  55398ede_0597_fb47_dd8c_edb8c5aacdad -->|calls| e7c86dbc_f669_e04c_eae5_85c469684781
  b513831f_74af_d452_c5fb_ed9ab7651ec4["genChildrenAsStringNode()"]
  55398ede_0597_fb47_dd8c_edb8c5aacdad -->|calls| b513831f_74af_d452_c5fb_ed9ab7651ec4
  685ec3ac_f3cb_a1f2_7038_724c16fd7095["genSSRChildren()"]
  55398ede_0597_fb47_dd8c_edb8c5aacdad -->|calls| 685ec3ac_f3cb_a1f2_7038_724c16fd7095
  b137a91c_5343_2845_a378_f5f09a089e40["genStringElement()"]
  55398ede_0597_fb47_dd8c_edb8c5aacdad -->|calls| b137a91c_5343_2845_a378_f5f09a089e40
  ea2f4f6d_abb0_6ddc_a8a6_21616cb106fa["genStringElementWithChildren()"]
  55398ede_0597_fb47_dd8c_edb8c5aacdad -->|calls| ea2f4f6d_abb0_6ddc_a8a6_21616cb106fa
  f5f4a665_bd43_49ff_d458_cfda193ba027["genNormalElement()"]
  55398ede_0597_fb47_dd8c_edb8c5aacdad -->|calls| f5f4a665_bd43_49ff_d458_cfda193ba027
  ce806ab8_847b_273b_e07c_0a796c2f76ae["genElement()"]
  55398ede_0597_fb47_dd8c_edb8c5aacdad -->|calls| ce806ab8_847b_273b_e07c_0a796c2f76ae
  style 55398ede_0597_fb47_dd8c_edb8c5aacdad 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.
What does genSSRElement() call?
genSSRElement() calls 8 function(s): genChildrenAsStringNode, genElement, genFor, genIf, 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