我知道這個錯誤訊息已經有很多問題,但我已經嘗試了所有建議的解決方案,但它對我不起作用。
我想使用 websockets 創建一個服務器來構建一個在線多人游戲(所以在瀏覽器中)。我知道 socket.io 可以用于瀏覽器我有這個我想學習的教程: https ://github.com/HungryTurtleCode/multiplayerSnake
他正在使用 socket.io 進行他的游戲,但無論我做什么我都會得到這個錯誤:Uncaught ReferenceError: require is not defined。我主要嘗試了此鏈接中的解決方案:Node.js 上的客戶端:未捕獲的 ReferenceError:未定義要求但沒有任何成功。我想試試 Peter Mortensen 使用的解決方案,但我不知道應該怎么做。
自從我遇到此錯誤以來已經一周了,但我仍然沒有找到適合我的解決方案。我想嘗試匯入,但我遵循的示例使用匯入如下:
import { createServer } from "http";
import { Server } from "socket.io";
但我得到了錯誤:"http". Relative references must start with either "/", "./", or "../"
我可以通過使用這個鏈接來解決 socket.io:https://cdnjs.cloudflare.com/ajax/libs/socket.io/4.5.1/socket.io.js而不是“socket.io”。 io”,但我沒有為 http 找到它。我嘗試了另一個鏈接(https://cdnjs.cloudflare.com/ajax/libs/http-client/4.3.1/http-client.min.js)但它給了我另一個錯誤所以我猜它不是解決它的好方法。
我也嘗試過 requirejs 但要使用它也使用 require 所以它不能正常作業(參見此鏈接:https ://gist.github.com/guerrerocarlos/3651490 )
我不知道我還能做什么...
這是我的試驗的最后一個版本
在我的 index.php 中:
<script data-main="scripts/main" src="scripts/require.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/4.5.1/socket.io.js" integrity="sha512-9mpsATI0KClwt xVZfbcf2lJ8IFBAwsubJ6mI3rtULwyM3fBmQFzj0It4tGqxLOGQwGfJdk/G fANnxfq9/cew==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="js/serverGame.js"></script>
這是我的 serverGame.js
const io = require('socket.io')();
io.on ('connection', client => {
client.emit('init', {data: 'hello world'})
})
io.listen(3000);
這是我的 package.json :
{
"type": "commonjs",
"devDependencies": {
"autoprefixer": "^10.4.7",
"postcss": "^8.4.14",
"tailwindcss": "^3.1.2"
},
"dependencies": {
"colyseus.js": "^0.14.13",
"moment": "^2.29.3",
"requirejs": "^2.3.6",
"socket.io": "^4.5.1",
"ws": "^8.8.0",
"ws-browser": "^11.4.8"
},
"optionalDependencies": {
"bufferutil": "^4.0.6",
"utf-8-validate": "^5.0.9"
}
}
有人知道如何解決我的問題嗎?先感謝您
uj5u.com熱心網友回復:
您需要使用 Node.js 運行您的 Node.js 代碼。
使用元素鏈接到它<script>并嘗試使用 Web 瀏覽器運行它是行不通的。Web 瀏覽器不是 Node.js。
Web 瀏覽器沒有支持運行服務器的功能。Web 瀏覽器不支持 CommonJS 模塊。Web 瀏覽器不支持 Node.js 樣式的模塊決議,當您從名稱而不是 URL搜索node_modules目錄時。import
您需要使用 Node.js。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/494815.html
標籤:javascript 节点.js 不明确的 要求
上一篇:當foreach以javascript結束時如何執行代碼
下一篇:Uncaught(inpromise)TypeError:Cannotreadpropertiesofundefined(reading'language')
