执行过npm install命令的vue-element-admin源码
康凯
2022-05-20 aa4c235a8ca67ea8b731f90c951a465e92c0a865
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
"use strict";
 
const { produceXMLSerialization } = require("w3c-xmlserializer");
const parse5 = require("parse5");
 
const utils = require("../generated/utils");
const treeAdapter = require("./parse5-adapter-serialization");
const NODE_TYPE = require("../node-type");
const NAMESPACES = require("../helpers/namespaces");
 
function htmlSerialization(node) {
  if (
    node.nodeType === NODE_TYPE.ELEMENT_NODE &&
    node.namespaceURI === NAMESPACES.HTML_NS &&
    node.tagName === "TEMPLATE"
  ) {
    node = node.content;
  }
 
  return parse5.serialize(node, { treeAdapter });
}
 
module.exports.fragmentSerialization = (node, { requireWellFormed }) => {
  const contextDocument =
    node.nodeType === NODE_TYPE.DOCUMENT_NODE ? node : node._ownerDocument;
  if (contextDocument._parsingMode === "html") {
    return htmlSerialization(node);
  }
 
  const childNodes = node.childNodesForSerializing || node.childNodes;
  let serialized = "";
  for (let i = 0; i < childNodes.length; ++i) {
    serialized += produceXMLSerialization(
      utils.wrapperForImpl(childNodes[i] || childNodes.item(i)),
      requireWellFormed
    );
  }
  return serialized;
};