这让我发疯......虽然我有一个 Express + Socket.io 的工作版本,但我似乎无法通过在新项目文件夹中安装开箱即用的 NPM 来重现它。谁能指出我错过了什么......?这是我的过程:
node_modules
我在我的项目目录 ( ) 中创建一个文件夹pwd
,然后执行以下操作:
npm install express
npm install socket.io
运行这两个命令会将包node_modules
按预期放入我的项目文件夹中。现在我使用以下内容设置我的服务器:
var express = require('express'),
server = express.createServer().use( express.static(__dirname+'./public') ).listen( 8080 ),
io = require('socket.io').listen(server);
我的public
文件夹包含我的应用程序的静态资产。我的公共索引 HTML 页面包含一个脚本标记,用于:
<script src="/socket.io/socket.io.js"></script>
最后,我运行我的服务器脚本并在 Web 浏览器中访问应用程序。我的静态公共文件都得到了正确的服务,但是我得到了 404 的/socket.io/socket.io.js
. 现在,我可以从另一个旧项目中换入一个express
包并让整个系统正常工作。不知何故,该包实例的配置不同,但我不知道如何重现它。Express 网站提到了一些关于安装依赖项的内容,尽管运行npm install -d
似乎没有帮助(pwd
在运行时我是否需要特定的东西npm install -d
?)。我想在使用 NPM 安装新的 Express 实例后,我一定遗漏了一些重要的东西。
感谢您的任何见解!