本文整理汇总了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;
}
示例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));
}
}