繁体   English   中英

Node.js,找不到模块'ws'错误

[英]Node.js, getting cannot find module 'ws' error

我已经在我的 Windows-7 PC 上安装了 node.js。 我无法创建到远程服务器的 websocket 连接。

我试图在我的脚本中加载模式“ws”:

var WebSocket = require('ws')

它给出了一个错误:

cannot find module 'ws'

所以我按照这里的说明进行操作: node.js websocket module installed but won't work in scripts

Execute cmd as Administrator (Right click cmd icon-> Run as Administrator) Then type in cmd:

c:\Node Instalation Dir\> npm install -g express
c:\Node Instalation Dir\> npm install websocket --force

Then run my script :--
D:\My Script Folder \> node myscript.js

同样的错误。 可能是什么问题呢 ?

cannot find module 'ws'

如果你安装 websocket,你应该需要 websocket,而不是 ws:

npm install websocket

然后在 REPL 中:

var websocket = require('websocket');

或者,您可以使用ws模块:

npm install ws

复制/脚本:

var ws = require('ws');

看看你的node_modules目录(只有第一级,它下面的目录)。 您可以按确切名称要求它们中的每一个。

require实际上会在当前目录中查找node_modules ,如果没有找到,然后是父级,然后是父级等。如果找不到,它将查找安装在NODE_PATH指向的全局路径中的模块。 (当然还有本地模块,例如httpnet 。)

尝试在本地而不是全局安装包,即不带-g选项。

您是否使用 -g 选项安装了模块? 我认为并不是每个模块都打算全局安装,而是尝试为您正在创建的项目(npm install)在本地安装它,并检查错误是否仍然存在。 [...]

如果你只想 require('something'); 最好在本地安装它,否则,您必须要求('{PREFIX}something'),其中前缀是您全局安装它的路径。 查看这篇文,正如它所说,一般来说,经验法则是如果您要在应用程序中使用它们,则在本地安装它们,如果您要从命令行使用它们,则在全局范围内安装。

节点错误找不到已安装的模块

我也面临同样的问题。

错误一:

在此处输入图像描述

只需简单地npm install ws尝试到我的 server.js 为我工作的同一文件夹级别。

在此处输入图像描述

错误2:

  • 如果您收到错误WebSocket is not defined ,请在添加以下代码后尝试命令npm install ws 如果ws不起作用,请尝试npm install websocket

此外,将其添加到您的文件中:

const WebSocket = require('ws');

var conn = new WebSocket('ws://localhost:9090');

在此处输入图像描述

在此处输入图像描述

  1. 转到您的项目根目录并打开 package.json 文件并编辑
  2. 添加“类型”:“模块”;
  3. 转到 js 文件的顶部,删除 require 并使用 import 语句将“ws”导入脚本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM