2015-04-19 44 views
2

當我運行bower install socket.io bower安裝的很好,但是在查看已安裝的文件時,沒有socket.io.js文件..問題在於當嘗試在我的項目中使用bower組件作爲依賴關係時,我無法使用require('socket.io') (使用debowerify),因爲它尋找bower_components/socket.io/socket.io.js爲什麼bower不能安裝socket.io.js文件?

沒有人知道爲什麼會發生這種情況,我需要做什麼來解決這個問題?

this is what bower install socket.io installs

錯誤消息我得到的是

Error: module "./../../bower_components/socket.io/socket.io.js" not found

回答

2

從通過入門指南http://socket.io/docs/#去那裏,由兩個部分組成socket.io,分別用於服務器和客戶端的代碼。

客戶端代碼是單獨安裝從這裏https://www.npmjs.com/package/socket.io-client,它爲我們提供了一個線索是什麼了......

從我們被告知

A standalone build of socket.io-client is exposed automatically by the socket.io server as /socket.io/socket.io.js

上述所以這是一個有點可以通過服務器端代碼訪問客戶端代碼,我認爲這可以解釋我們在bower_components文件夾安裝後看到的差異。

在使用express的節點應用程序的情況下,您可以簡單地引用客戶端html上的socket.io.js,只需將其包含在<script src="socket.io.js"></script>中,然後引用由此引入的大概全局的io對象。

希望這有助於再次

+1

問題與是需要尋找一個socket.io-client.js文件,而不是一個socket.io.js文件..我在做什麼,現在只是要求確切的文件在bower_components'require('./../../ bower_components/socket.io-client/socket.io.js')'這似乎正確地導入它。我只是很失望,我必須要求確切的路徑,因爲他們有不同的文件名稱比它的文件夾(不像其他每個涼亭js文件) –

+0

它似乎是一個奇怪的位擺動小工具好吧:) –