Including socket.io.js results in undefined 'require'

人盡茶涼 提交于 2019-12-25 02:22:02

问题


I've just started with node.js and socket.io. I installed node.js using the windows installer, resulting in the following install path:

C:\Program Files (x86)\nodejs

I used npm to install socket.io and managed to include this in my server file, which is located in my projects folder, under

D:\projects\node\nodeserv.js

I then included the socket.io.js, which is located under the same socket.io folder, under the nodjs folder.

However, when I try to open the HTML file containing the client code, I get an error in socket.io.js stating:

Undefined reference to 'require'

Can someone help me out and see what I am doing wrong?


回答1:


Make sure to check your spelling very carefully. If you can post post some code to look at, we can probably tell you the problem right away. More than likely it's a simple typo.




回答2:


It sounds like you are trying to run node.js from the browser. Node.js runs on the server with the node executable. When you open the HTML file in your browser, it will execute the Javascript on it in a non node.js environment.




回答3:


Apparently you need to get the socket.io.js file from the nodejs server.

So instead of an include, use an async call to get the file, like:

$.getScript('http://localhost:1337/socket.io/socket.io.js', function(){
    //You can now use the io namespace
});


来源:https://stackoverflow.com/questions/8540358/including-socket-io-js-results-in-undefined-require

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!