如何在 nodeJs WS 库中设置 "type:module"?
How do i set "type:module" in nodeJs WS Library?
这个问题已经被问了一百万次,也被回答了一百万次。但我仍然找不到解决方案。我使用的代码正是库文档使用示例中的代码:
import WebSocket from 'ws';
const ws = new WebSocket('ws://www.host.com/path');
ws.on('open', function open() {
ws.send('something');
});
ws.on('message', function message(data) {
console.log('received: %s', data);
});
我没有更改任何一行代码,这是我在 Node Js 中的 唯一 代码。但我的结果是错误:“警告:在 package.json 中加载 es 模块集类型模块或使用 .mjs 扩展名”无论如何。
我知道答案只是将“package.json”文件中的“类型”更改为“模块”,我已经读过一千遍了。唯一的问题是:我的 NodeJS 文件夹中有一百万 package.json 个文件,但我不知道应该更新哪个文件。有人可以帮忙吗?
我没有 NodeJS 或 WS 库的经验,所以欢迎任何提示或任何其他解决我问题的方法。
如错误消息所示,如果您想在 Node.js 应用程序中使用 ECMAScript 模块,您可以:
- 将文件扩展名改为.mjs
- 将顶级的
"type": "module"
条目添加到 最近的 package.json
此时Node.js会将所有其他形式的输入视为CommonJS模块(您使用require
导入)。
备注
这在未来可能会改变,ECMAScript 模块可能会成为默认模块,因此建议始终显式,如果您想使用 CommonJS,请使用 .cjs 扩展名或将 "type": "commonjs"
添加到(最近的)package.json 文件。
这个问题已经被问了一百万次,也被回答了一百万次。但我仍然找不到解决方案。我使用的代码正是库文档使用示例中的代码:
import WebSocket from 'ws';
const ws = new WebSocket('ws://www.host.com/path');
ws.on('open', function open() {
ws.send('something');
});
ws.on('message', function message(data) {
console.log('received: %s', data);
});
我没有更改任何一行代码,这是我在 Node Js 中的 唯一 代码。但我的结果是错误:“警告:在 package.json 中加载 es 模块集类型模块或使用 .mjs 扩展名”无论如何。
我知道答案只是将“package.json”文件中的“类型”更改为“模块”,我已经读过一千遍了。唯一的问题是:我的 NodeJS 文件夹中有一百万 package.json 个文件,但我不知道应该更新哪个文件。有人可以帮忙吗? 我没有 NodeJS 或 WS 库的经验,所以欢迎任何提示或任何其他解决我问题的方法。
如错误消息所示,如果您想在 Node.js 应用程序中使用 ECMAScript 模块,您可以:
- 将文件扩展名改为.mjs
- 将顶级的
"type": "module"
条目添加到 最近的 package.json
此时Node.js会将所有其他形式的输入视为CommonJS模块(您使用require
导入)。
备注
这在未来可能会改变,ECMAScript 模块可能会成为默认模块,因此建议始终显式,如果您想使用 CommonJS,请使用 .cjs 扩展名或将 "type": "commonjs"
添加到(最近的)package.json 文件。