這已經被問了一百萬次,回答了一百萬次。但我仍然找不到解決方案。我使用的代碼正是庫檔案使用示例中的代碼:
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”檔案中的“type”更改為“module”,我已經閱讀了一千遍。唯一的問題是:我的 NodeJS 檔案夾中有大約一百萬個 package.json 檔案,我不知道應該更新哪個。有人可以幫忙嗎?我沒有 NodeJS 或 WS 庫的經驗,所以歡迎任何提示或任何其他解決我的問題的方法。
uj5u.com熱心網友回復:
正如錯誤訊息所建議的那樣,如果您想在 Node.js 應用程式中使用ECMAScript模塊,您可以:
- 將檔案擴展名更改為.mjs
"type": "module"將頂級條目添加到最近的 package.json
此時 Node.js 會將所有其他形式的輸入視為CommonJS模塊(require用于匯入的地方)。
筆記
這在未來可能會發生變化,并且 ECMAScript 模塊可能會成為默認模塊,因此建議始終明確,如果您想使用CommonJS,請使用.cjs擴展名或添加"type": "commonjs"到(最近的)package.json檔案中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/389830.html
標籤:javascript 节点.js WS
上一篇:比較陣列中的物件
