You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Rails 7.1中用ImportMaps引入HighlightJS遇错求解决

如何在Rails 7.1中正确配置HighlightJS解决模块导入错误

问题场景

我在Rails 7.1中尝试引入HighlightJS,初始配置如下:

# importmap.rb    
pin "highlightjs", to: "https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js"
// application.js
import hljs from "highlightjs"

执行后触发错误:

Uncaught SyntaxError: ambiguous indirect export: default

问题根源

最初我执行了错误的pin命令:

bin/importmap pin highlightjs

该命令将包指向了旧版本的非ES模块文件:

Pinning "highlightjs" to https://ga.jspm.io/npm:highlightjs@9.16.2/highlight.pack.js

之后我手动修改importmap指向最新版本,但该CDN文件同样不是ES模块格式,导致错误持续。

正确解决方案

执行正确的pin命令,指定正确的包名(highlight.js而非highlightjs):

bin/importmap pin highlight.js

该命令会自动将包指向符合ES模块规范的最新版本文件:

Pinning "highlight.js" to https://ga.jspm.io/npm:highlight.js@11.9.0/es/index.js

之后在application.js中正常导入即可:

import hljs from "highlight.js"
// 可选:添加初始化代码启用高亮
// hljs.highlightAll();

内容的提问来源于stack exchange,提问作者Will

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 08:56:03