当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript dom5.removeAttribute函数代码示例

本文整理汇总了TypeScript中dom5.removeAttribute函数的典型用法代码示例。如果您正苦于以下问题:TypeScript removeAttribute函数的具体用法?TypeScript removeAttribute怎么用?TypeScript removeAttribute使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了removeAttribute函数的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: _inlineNonModuleScript

  /**
   * Inlines the contents of the document returned by the script tag's src URL
   * into the script tag content and removes the src attribute.
   */
  private async _inlineNonModuleScript(scriptTag: ASTNode) {
    const scriptHref = dom5.getAttribute(scriptTag, 'src')!;
    const resolvedImportUrl = this.bundler.analyzer.urlResolver.resolve(
        this.assignedBundle.url, scriptHref as FileRelativeUrl);
    if (resolvedImportUrl === undefined) {
      return;
    }
    if (this.bundler.excludes.some(
            (e) => resolvedImportUrl === e ||
                resolvedImportUrl.startsWith(ensureTrailingSlash(e)))) {
      return;
    }
    const scriptImport = find(
        this.document.getFeatures(
            {kind: 'html-script', imported: true, externalPackages: true}),
        (i) =>
            i.document !== undefined && i.document.url === resolvedImportUrl);
    if (scriptImport === undefined || scriptImport.document === undefined) {
      this.assignedBundle.bundle.missingImports.add(resolvedImportUrl);
      return;
    }

    let scriptContent = scriptImport.document.parsedDocument.contents;

    if (this.bundler.sourcemaps) {
      // it's easier to calculate offsets if the external script contents
      // don't start on the same line as the script tag. Offset the map
      // appropriately.
      scriptContent = await addOrUpdateSourcemapComment(
          this.bundler.analyzer,
          resolvedImportUrl,
          '\n' + scriptContent,
          -1,
          0,
          1,
          0);
    }

    dom5.removeAttribute(scriptTag, 'src');
    // Second argument 'true' tells encodeString to escape the <script> content.
    dom5.setTextContent(scriptTag, encodeString(scriptContent, true));

    // Record that the inlining took place.
    this.assignedBundle.bundle.inlinedScripts.add(resolvedImportUrl);

    return scriptContent;
  }
开发者ID:Polymer,项目名称:vulcanize,代码行数:51,代码来源:html-bundler.ts

示例2: _rewriteExternalModuleScriptTagsAsImports

 /**
  * Replace all external module script tags:
  * `<script type="module" src="..."></script>`
  * with inline script tags containing import:
  * `<script type="module">import '...';</script>`
  * And these will be subsequently rolled up by call to
  * `this._rollupInlineModuleScripts()`.
  */
 private async _rewriteExternalModuleScriptTagsAsImports(ast: ASTNode) {
   for (const scriptTag of dom5.queryAll(ast, matchers.externalModuleScript)) {
     const scriptHref = dom5.getAttribute(scriptTag, 'src')!;
     const resolvedImportUrl = this.bundler.analyzer.urlResolver.resolve(
         this.document.parsedDocument.baseUrl, scriptHref as FileRelativeUrl);
     if (resolvedImportUrl === undefined) {
       return;
     }
     // We won't inline a module script if its not supposed to be in this
     // bundle.
     if (!this.assignedBundle.bundle.files.has(resolvedImportUrl)) {
       return;
     }
     const scriptContent = `import ${JSON.stringify(resolvedImportUrl)};`;
     dom5.removeAttribute(scriptTag, 'src');
     dom5.setTextContent(scriptTag, encodeString(scriptContent, true));
   }
 }
开发者ID:Polymer,项目名称:tools,代码行数:26,代码来源:html-bundler.ts


注:本文中的dom5.removeAttribute函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。