gpt4 book ai didi

javascript - 如何通过 es6 import 导入 nodejs 模块 "module"以使用 "require"创建 "createRequire"函数以使用 Node 的 "require"?

转载 作者:行者123 更新时间:2023-12-05 00:38:32 29 4
gpt4 key购买 nike

我正在编写一个 JavaScript es6 模块,其中包含“Mocha”测试用例,用于测试包含我的应用程序实际功能的 JavaScript es6 模块。

我正在尝试通过 es6 import 导入 nodejs 模块“模块”,如下所示:

import { createRequire } from 'module';

接下来我通过调用“createRequire”创建一个“require”函数:
const require = createRequire(import.meta.url);

之后我尝试使用“require”来导入nodejs模块:
const chai = require('chai');
const assert = chai.assert;

我将所有内容放在一个 HTML 文件中,启动一个网络服务器并在浏览器中打开该 HTML 文件。

不幸的是,第一行在浏览器 Firefox 的控制台中给了我一个错误:
TypeError: Error resolving module specifier: module
浏览器 Chromium 给我以下错误消息:
Uncaught TypeError: Failed to resolve module specifier "module". Relative references must start with either "/", "./", or "../".
实际上,提供相对引用也不起作用:

我安装了 nodejs 模块“模块”( npm install module )并使用了该模块的相对路径。不幸的是,浏览器不知道如何加载模块,因为没有给出具体的入口点。

我只是尝试坚持手册但没有运气:

https://nodejs.org/api/modules.html#modules_module_createrequire_filename

你怎么看?我应该如何更改我的代码以使其正常工作?

非常感谢您的宝贵建议。

最佳答案

require() 用于在 node 中加载文件,module 是 node 模块。
这些东西在浏览器中是不存在的。
你做这些事情,并在 node.js 中运行 mocha 测试。应该没有浏览器,只有一个命令行。

关于javascript - 如何通过 es6 import 导入 nodejs 模块 "module"以使用 "require"创建 "createRequire"函数以使用 Node 的 "require"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59191950/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com