javascript - Svelte Rollup [export name] 未由 node_modules/ 导出
问题描述
我正在尝试从连字符中导入一个模块,如下所示:import { hyphenateHTMLSync } from "hyphen/fr";
在 Svelte 模块的脚本标记中,但我Error: 'hyphenateHTMLSync' is not exported by node_modules/hyphen/fr/index.js
从汇总中获得。
问题中的模块文件如下所示:
node_modules/连字符/fr/index.js
module.exports = require("../export-contract.js")(
require("../patterns/fr.js")
);
node_modules/连字符/export-contract.js
var createHyphenator = require("./hyphen.js");
module.exports = function (patterns) {
return {
hyphenate: createHyphenator(patterns, { async: true }),
hyphenateHTML: createHyphenator(patterns, { async: true, html: true }),
hyphenateHTMLSync: createHyphenator(patterns, { html: true }),
hyphenateSync: createHyphenator(patterns),
patterns: patterns
};
};
hyphen.js 包含创建连字符的功能。
我对 Rollup、Svelte 甚至 Node 的了解还不够,不知道如何解决这个问题。
解决方案
Rollup 需要额外的插件 (@rollup/plugin-node-resolve
和@rollup/plugin-commonjs
) 来处理 CommonJS 模块,如此处所述。
这里给出了一个使用这两个插件的非常基本的汇总示例配置。
在您的特定用例中,如果您在使用基本配置时仍然遇到问题,您可能需要深入研究 commonjs 插件的dynamicRequireTargets选项。
推荐阅读
- python - 如何在单个查询 sqlalchemy python 中获取时间序列分区数据?
- java - 如何告诉 Spring Data REST 在无效端点上返回错误代码?
- javascript - 为什么在按住鼠标按钮的情况下输入元素会干扰进一步的鼠标事件?
- python - 如何引用 websocket 数据数组 python-binance
- jmeter - 当 jmeter 中的线程数增加时,请求失败并出现错误 400
- google-sheets - 如何在 Google 表格中使用 AVERAGEIF,仅处理具有特定文本的列
- godot - 编码新手 很困惑
- javascript - 如何仅使用“推送”方法向数组添加值一次
- java - 在JAVA中将字符串作为输入的问题
- python - 在 python 类中使用“self”