HTML 模块到底是什么?据我所知,它可能允许开发人员将 HTML 创建为模块,就像 ES6 模块与 JavaScript 一样。
但是,这些模块基本上都是像 Mustache、Handlebars 和 Pug 这样的模板吗?或者它就像类似模板系统的包装器,允许我们轻松地将 HTML 文件导入到另一个 HTML 文件中?
它会为避免使用利用 Web 组件的模板库铺平道路吗?
[更新] 这是我找到此内容的链接 - https://github.com/w3c/webcomponents/blob/gh-pages/proposals/html-modules-explainer.md
HTML 模块是将 HTML 文件导入文档的新建议。
\n\nHTML 导入支持类似的功能,并允许导入 HTML 文件(最终包含自身 JS 和 CSS),但它已被弃用,并且JS 模块导入已部分取代该功能。
\n\nHTML 导入的目的是完成该部分,并使得再次导入 HTML 文件而不仅仅是 JavaScript 文件成为可能。\n现在您无法导入包含 HTML 的文件(同样,您可以在以下情况下执行此操作)meta rel=import href=myfile.html>不再支持 HTML时,您可以这样做)。\n如果你想这样做,你必须在处理 HTML 字符串之前先用 JavaScript 字符串编写它。
该提案还引入了诸如import.meta.document引用要导入的内部文档之类的概念。
请注意,这是一个提案,即使它可以插入规范中,但它应该由浏览器实现,并最终被社区采用,以便保留并成为稳定的功能。
\n\n目前您可以使用的最接近的是Lego Web-Component 库,它允许将 HTML 作为模块包含并扩展本机 HTML 功能:
\n\n<template>\n <p>Hello World!</p>\n</template>\nRun Code Online (Sandbox Code Playgroud)\n\n用作:
\n\n<script src="./dist/index.js" type="module"></script>\n<hello-world />\nRun Code Online (Sandbox Code Playgroud)\n\n示例取自https://github.com/polight/lego#hello-world
\n\n让我们看看未来 HTML 模块的规范将如何发展\xe2\x80\xa6
\n