如何在 WordPress 网站中使用 Importmap

如何在 wordpress 网站中使用 importmap

我一直在尝试开发一个基本的 wordpress 经典主题,无需构建步骤,我可以将其用作入门主题,以便将来开发客户端站点。在撰写本文时,我没有做任何自由职业,因为我正在为一家网络机构工作,并且我们正在构建的网站都涉及构建步骤。所以我想写一个关于如何在 wordpress 主题中使用 importmap 的简短教程。

career tracker 是我现有的一个副项目,它已经使用了 importmap,无需构建步骤,但它是一个纯 javascript 应用程序。

让我们看看如何在 wordpress 世界中做到这一点。

入队模块脚本

在我的主题functions.php中,我使用wordpress中的wp_enqueue_script_module函数将我的javascript文件app.js作为模块脚本排入队列。

wp_enqueue_script_module( 'frontend-scripts', gearup_theme_url . '/static/js/app.js', [], gearup_theme_version, true );

这将输出到前端的以下脚本标签。


我的 javascript 文件被放置在主题文件夹的 static 文件夹中。

static├── css│   ├── app.css│   ├── global.css│   ├── reset.css│   ├── utils.css│   └── variables.css└── js    ├── admin.js    ├── app.js    ├── components    │   └── menu.js    └── utils        └── index.js

正如您在此文件结构中所看到的,我需要将 utils 文件夹中的 index.js 和 components 文件夹中的 menu.js 导入到我的 app.js 中。在添加 importmap 之前,让我们看看当我在 app.js 中导入这两个文件时它的样子。

// utilsimport { ondocumentready } from './utils/index.js';// componentsimport menu from './components/menu.js';

但是我想要的是像这样导入文件。

知网AI智能写作 知网AI智能写作

知网AI智能写作,写文档、写报告如此简单

知网AI智能写作 38 查看详情 知网AI智能写作

// utilsimport { ondocumentready } from 'utils/index.js';// componentsimport menu from 'components/menu.js';

一旦我将导入更改为这种格式,浏览器将在控制台中抛出此错误。

uncaught typeerror: failed to resolve module specifier "utils/index.js". relative references must start with either "/", "./", or "../".

importmap 来救援

将其添加到模板 html head 标签中。您可能需要在 php 中渲染此部分,以便获得静态文件夹的动态 url。

    {      "imports": {        "utils/": "/wp-content/themes/gearup/static/js/utils/",        "components/": "/wp-content/themes/gearup/static/js/components/"      }    }

在我的 app.js 中使用它

现在有了 importmap 设置,即使这不是 node 环境,我们仍然可以在我们熟悉的结构下导入文件。请记住,文件需要以 .js 结尾。

// utilsimport { ondocumentready } from 'utils/index.js';// componentsimport menu from 'components/menu.js';

如果我将 .js 从 utils/index.js 删除到 utils/index,那么浏览器将在控制台中记录此错误。

get http://test.local/wp-content/themes/gearup/static/js/utils/index net::err_aborted 404 (not found)

将 cdn 中的文件添加到我们的导入映射中

    {      "imports": {        "utils/": "/wp-content/themes/gearup/static/js/utils/",        "components/": "/wp-content/themes/gearup/static/js/components/",        "ccw/": "https://unpkg.com/cucumber-web-components@0.5.2/dist/"      }    }

我获取了指向我的 web 组件集合的 cdn 链接,并将其添加到我的导入映射中。添加后,现在我们可以像这样将 web 组件导入到 app.js 中。这不是很漂亮吗?

import "ccw/side-nav/index.js";import "ccw/side-nav-item/index.js";import "ccw/icon/index.js";import "ccw/form-layout/index.js";import "ccw/text-field/index.js";import "ccw/email-field/index.js";import "ccw/date-picker/index.js";import "ccw/option/index.js";import "ccw/select/index.js";

对于 web 组件,显然我没有在我的 wordpress 主题中使用它,但你可以检查我在开头提到的副项目 career tracker,看看它们是如何工作的。

以上就是如何在 WordPress 网站中使用 Importmap的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/452996.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月8日 00:11:50
下一篇 2025年11月8日 00:13:08

相关推荐

  • python如何对pyqt5的窗体进行设置?

    使用QWidget设置PyQt5窗口属性,包括标题、大小、位置、图标、样式和行为。通过setWindowTitle、resize、move、setWindowIcon等方法配置窗口基本信息,利用setStyleSheet定义外观风格,并可通过setWindowFlags、setWindowOpaci…

    2025年12月14日 好文分享
    000
  • python scrapy如何建模

    Scrapy建模通过Item定义数据结构,1. 在items.py中创建继承scrapy.Item的类并用Field()声明字段;2. Spider中实例化Item填充数据;3. 可使用ItemLoader简化提取流程,支持输入输出处理器;4. 通过Pipeline实现数据存储与处理,需在setti…

    2025年12月14日
    000
  • python中htmlparser解析html

    Python内置html.parser模块的HTMLParser类可用于解析HTML。通过继承该类并重写handle_starttag、handle_endtag、handle_data等方法,可提取标签、属性和文本内容。例如LinkExtractor类可提取超链接地址与锚文本。适用于结构良好的HT…

    2025年12月14日
    000
  • 使用BeautifulSoup从HTML页面中提取并构建特定标签的教程

    本文详细介绍了如何利用Python的BeautifulSoup库,高效且优雅地从现有HTML文档中选择性地提取特定标签及其内容,并将其重新构建成一个新的HTML页面。通过避免手动字符串拼接,采用BeautifulSoup内置的DOM操作方法,实现代码的清晰性、可维护性与健壮性,是处理HTML内容过滤…

    2025年12月14日 好文分享
    000
  • 使用BeautifulSoup从HTML中提取特定标签并生成新页面

    本文详细介绍了如何利用Python的BeautifulSoup库,从现有HTML文档中高效、精准地提取指定标签及其内容,并将其整合到一个全新的HTML页面中。通过初始化新的HTML结构、定义目标标签列表并利用BeautifulSoup的append方法,实现了比传统字符串拼接更优雅、更健壮的解决方案…

    2025年12月14日 好文分享
    000
  • 使用BeautifulSoup从现有HTML页面生成包含特定标签的新页面

    本教程详细介绍了如何利用BeautifulSoup库从现有HTML文档中选择性地提取特定HTML标签及其内容,并将其构建成一个新的HTML页面。文章将对比传统的手动字符串拼接方法,并推荐一种更灵活、结构化的方案,通过迭代预定义标签列表并使用BeautifulSoup的append方法,高效地生成目标…

    2025年12月14日 好文分享
    000
  • 如何使用Selenium和JavaScript提取HTML标签内的直接文本内容

    本教程详细介绍了如何使用Selenium结合JavaScript,从HTML标签中精确提取所有非嵌套在子元素内的直接文本内容。针对标准Selenium方法无法满足需求的场景,我们通过遍历DOM节点的子节点并识别文本节点,构建了一个高效的JavaScript解决方案,确保获取到标签内部的纯文本信息,并…

    2025年12月14日
    000
  • python静态web服务器如何实现

    答案:Python可通过http.server模块或socket实现静态Web服务器。使用http.server模块可在终端运行%ignore_a_1% -m http.server 8000快速启动服务;也可自定义类继承BaseHTTPRequestHandler处理GET请求,读取本地文件并返回…

    2025年12月14日
    000
  • python scrapy模拟登录的方法

    答案:Scrapy模拟登录需分析登录流程,提取表单字段及隐藏参数如csrf_token,使用FormRequest.from_response提交登录信息,自动处理cookies和重定向;若存在动态token或验证码,则结合Playwright等工具模拟浏览器操作;登录后Scrapy通过Cookie…

    2025年12月14日
    000
  • Scrapy CSS选择器:利用::text伪元素精准提取HTML标签内部文本

    本文深入讲解在Scrapy中使用CSS选择器时,如何通过::text伪元素精准提取HTML标签(如 标签)的纯文本内容,而非包含标签的完整html结构。教程将提供详细代码示例,并阐述get()方法的正确用法,以及如何处理多个匹配元素,帮助开发者高效、准确地获取所需数据。 在进行网页数据抓取时,我们经…

    2025年12月14日
    000
  • Scrapy CSS 选择器:精确提取HTML标签内部文本(::text)教程

    本教程将详细介绍在 Scrapy 中使用 CSS 选择器时,如何通过 ::text 伪元素精确地从 HTML 标签中提取纯文本内容,而非包含标签的完整 HTML 片段。文章将通过示例代码展示 ::text 的用法,并解释如何处理单个或多个匹配项,帮助开发者高效、准确地抓取所需数据。 理解 ::tex…

    2025年12月14日
    000
  • Scrapy CSS选择器:使用::text伪元素精准提取HTML标签内文本

    本教程详细介绍了在Scrapy中使用CSS选择器提取HTML标签(特别是p标签)内部纯文本内容的技巧。通过引入::text伪元素,您可以精确地获取元素内的文本节点,而非包含标签的完整HTML片段,从而避免不必要的后处理,提升数据提取的效率和准确性。 在进行网页抓取时,我们经常需要从html元素中提取…

    2025年12月14日
    000
  • Scrapy CSS选择器:精确提取HTML标签内部文本教程

    本教程详细阐述了在Scrapy中使用CSS选择器时,如何精确提取HTML标签(如p标签)的内部文本内容,而非包含标签的完整HTML结构。核心方法是利用::text伪元素,它能有效定位并提取元素的直接文本节点。教程将通过代码示例展示如何应用此技术,并提供处理多个匹配项及相关注意事项。 1. 理解问题:…

    2025年12月14日
    000
  • Scrapy CSS选择器提取P标签内文本的技巧

    本文详细介绍了在Scrapy中使用CSS选择器提取HTML p 标签内纯文本内容的方法。核心在于利用 ::text 伪元素,它能精确地选取元素的直接文本节点,而非包含标签的完整HTML。教程通过代码示例展示了如何应用 ::text 来获取单个或多个 p 标签的内部文本,并强调了 get() 和 ge…

    2025年12月14日 好文分享
    000
  • 使用 Selectolax 选择不含 class 属性的 p 标签

    本文介绍了如何使用 Python 的 Selectolax 库选择 HTML 文档中不包含 class 属性的 p 标签及其子元素。通过示例代码,展示了如何利用 CSS 选择器以及 Lexbor 解析器来精准定位目标元素,并提取所需信息。同时,也对比了不同解析器的优劣,帮助开发者选择更合适的工具。 …

    2025年12月14日
    000
  • 使用 Selectolax 选择不带 class 属性的 p 标签

    本文介绍了如何使用 Python 的 Selectolax 库选择 HTML 中不带 class 属性的 标签及其子元素。重点讲解了使用 css() 方法配合 :not([class]) 选择器来定位目标元素,并提供示例代码演示了如何提取所需文本内容。同时,建议使用 Lexbor 作为 Select…

    2025年12月14日
    000
  • 使用BeautifulSoup从HTML下拉菜单中提取项目名称的实用指南

    本文详细介绍了如何利用Python的BeautifulSoup库从复杂的HTML下拉菜单中准确提取所需项目名称。通过分析常见的抓取错误,特别是针对多层嵌套的HTML结构,我们演示了如何正确地定位目标元素并提取其文本内容,确保数据抓取的高效性和准确性。 1. 理解目标:HTML下拉菜单的结构 在进行网…

    2025年12月14日
    000
  • Robocorp Browser库截图超时错误解析与稳健重试策略

    Robocorp自动化过程中,使用Browser库的take_screenshot功能时,常因内部“聚焦”机制不稳定而遭遇超时错误。本文深入解析该问题,并提出一种高效且稳健的重试策略作为核心解决方案,通过代码示例详细阐述如何实现多次尝试截图,显著提升自动化脚本的可靠性,确保关键截图操作的成功执行,避…

    2025年12月14日
    000
  • 使用BeautifulSoup高效抓取HTML下拉菜单内容的教程

    本教程详细讲解如何利用Python的requests库和BeautifulSoup库,从HTML下拉菜单中准确提取所需项目名称。通过分析目标HTML结构,演示了如何正确识别和定位包含菜单项的元素,并提供了清晰的代码示例和常见错误解析,帮助读者掌握静态网页数据抓取的核心技巧。 在进行网页数据抓取(We…

    2025年12月14日
    000
  • Python Beautiful Soup4:高效解析HTML下拉菜单数据

    本教程详细介绍了如何使用Python的requests和BeautifulSoup4库从复杂的HTML下拉菜单中准确抓取数据。文章首先分析了在HTML解析中常见的错误,特别是如何正确选择目标元素并提取其文本内容。通过一个具体的案例,教程演示了如何定位特定的元素,进而遍历其中的子项,并利用get_te…

    2025年12月14日
    000

发表回复

登录后才能评论
关注微信