本文整理匯總了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));
}
}