2014-01-08 81 views
0

我正在爲嵌入式Linux系統(使用buildroot製作busybox)的項目工作。我想知道是否有可能使用node.js模塊socket.io表示而不必安裝或運行npm。目標是能夠將buildroot配置爲創建一個簡單包含node.js的busybox圖像,然後將所有的javascript文件放在適當的目錄中並從命令行執行node app.js以運行節點應用程序(將使用socket.io表示)。在沒有npm的情況下使用socket.io和express模塊​​

因此,例如我的機器上(這確實有node.js中並安裝npm),我可以運行npm install socket.io所以它會得到socket.io及其所有依賴關係,並在node_modules目錄的安裝是我的項目。如果我將所有這些文件放在一個目錄中,並將它們移動到生產環境(嵌入式Linux,只安裝了node.js,並且npm install socket.io從未運行過),我的應用程序可以工作嗎?

回答

1

如果我將所有這些文件放在一個目錄中並將它們移動到生產環境,我的應用程序是否可以工作?

是的,它會。但是,如果你有任何二進制依賴關係,他們需要重新編譯,所以它有點棘手。如果你不這樣做,你會沒事的。

+0

謝謝。是否有一種簡單的方法可以判斷一個包(及其所有依賴項)是否具有二進制文件,還是隻需要搜索所有的存儲庫? – AnalogWeapon

+0

運行'npm rebuild'。如果它正在重新編譯一些東西,那麼二進制依賴關係就在那裏。這些日子很少見,我只是爲了完整而提到它。 – alex

相關問題