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
  326fee1b_92bc_19d2_bdf7_1b1077a65e6d["genSSRElement()"]
  d70222cb_3265_c3fc_c0cf_09247995ea9a["codegen.ts"]
  326fee1b_92bc_19d2_bdf7_1b1077a65e6d -->|defined in| d70222cb_3265_c3fc_c0cf_09247995ea9a
  2d199780_f227_cd02_d035_b40046777d96["generate()"]
  2d199780_f227_cd02_d035_b40046777d96 -->|calls| 326fee1b_92bc_19d2_bdf7_1b1077a65e6d
  4b6fd803_0dd3_a7f8_8efe_479af7f793b0["genSSRNode()"]
  4b6fd803_0dd3_a7f8_8efe_479af7f793b0 -->|calls| 326fee1b_92bc_19d2_bdf7_1b1077a65e6d
  2fca87b5_3c3d_6d7a_6f06_d5b4a0981171["genChildrenAsStringNode()"]
  326fee1b_92bc_19d2_bdf7_1b1077a65e6d -->|calls| 2fca87b5_3c3d_6d7a_6f06_d5b4a0981171
  b094a7c6_5ff1_4966_c35f_461fe0369e2f["genSSRChildren()"]
  326fee1b_92bc_19d2_bdf7_1b1077a65e6d -->|calls| b094a7c6_5ff1_4966_c35f_461fe0369e2f
  346b3527_4d54_a18c_d511_a2ee107a9307["genStringElement()"]
  326fee1b_92bc_19d2_bdf7_1b1077a65e6d -->|calls| 346b3527_4d54_a18c_d511_a2ee107a9307
  89245b7a_d5b7_6af6_02cc_eff68f4d4b43["genStringElementWithChildren()"]
  326fee1b_92bc_19d2_bdf7_1b1077a65e6d -->|calls| 89245b7a_d5b7_6af6_02cc_eff68f4d4b43
  cdcb04b2_1853_697f_3084_d8e25ae95dbe["genNormalElement()"]
  326fee1b_92bc_19d2_bdf7_1b1077a65e6d -->|calls| cdcb04b2_1853_697f_3084_d8e25ae95dbe
  style 326fee1b_92bc_19d2_bdf7_1b1077a65e6d 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