无法找到模块 `express` | socket.io [node.js]

4
所以我打开 Git Bash 并输入 npm install socket.io,我发现目录在我的用户文件夹下:C:\Users\weka\node_modules... 无论如何,我将 socket.io 文件夹拖到我的项目 www 文件夹中,因为我正在使用 WAMP 服务器。
所以,这是我的测试 server.js
var app = require('express').createServer();
var io = require('socket.io').listen(app);

io.sockets.on('connection', function (socket) {
console.log('Someone connected!');
socket.on('set nickname' , function (nickname) {
socket.nickname = nickname;
console.log(nickname + ' just connected!');
});

});

app.listen(8080);

我打开了命令提示符窗口并输入 node C:\wamp\www\gameTest\server.js,但是出现了一个错误,说找不到名为express的模块。我曾经下载过socket.io,但作为GitHub的新手,我可能做错了什么。请帮忙解决。

更新:我发现我没有安装它。好的,我输入了npm install express,现在我在node_modules文件夹中有了一个express文件夹。

3个回答

11

expresssocket.io 是不同的库。只需在应用程序根目录下运行 npm install express

同时确保您的 node 依赖项位于名为 node_modules 的文件夹中 - 这是模块解析使用的约定。因此,您的文件结构应该类似于:

/some-app
    /node_modules
        /express
        /socket.io
    server.js

我运行了命令npm install express,但仍然出现错误,请帮助我。 - Alireza Fallah
@AlirezaFallah 在Windows上:进入您的项目根文件夹-> Shift + 右键单击-> 打开命令窗口-> 输入npm install express。现在应该创建一个名为node_modules的文件夹,以及express依赖项。 - Rikku121

0
在你的情况下,你应该将 C:\Users\weka\node_modules 中的 express 模块文件夹复制到你的项目目录中: C:\wamp\www\gameTest\node_modules。如果你的项目文件夹中没有名为'node_modules'的文件夹,则首先创建它,然后将这些文件粘贴到此文件夹中。这种方法在我的 windows pc 上有效。重启你的node服务器,然后再次运行命令 node C:\wamp\www\gameTest\server.js。现在应该可以工作了!

0
我的解决方法是在项目根目录下运行npm。这样安装的文件相对于您的项目,这就是node.js解析文件名的方式。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接