1

我正在尝试将一个简单的 WebRTC.io 演示应用程序(https://github.com/dougnukem/webrtc.io-demo)部署到 nodejitsu,但是当它被部署时(http://dougnukemwebrtc.jit.su/)它无法为客户端 javascript 提供服务:

无法获取 /webrtcio.js

当我在本地运行它时它运行良好:

$ git clone https://github.com/dougnukem/webrtc.io-demo.git
$ cd webrtc.io-demo/
$ npm install
$ node example/server.js &
$ curl http://localhost:8000/webrtc.io.js
4

1 回答 1

3

webrtc.io.js 实际上是一个符号链接,npm 和 nodejitsu 不会打包和部署它们(https://github.com/nodejitsu/jitsu/issues/379)。

$ ls -al example/public
webrtc.io.js -> ../../node_modules/webrtc.io-client/lib/webrtc.io.js

所以现在我把一个解决方法作为 predeploy/postdeploy hack,将实际文件从 node_modules 复制到 example/public/ 以发送到 nodejitsu 服务器,然后将其恢复为本地开发人员的符号链接。可能有一个更优雅的解决方案。

package.json:https ://github.com/dougnukem/webrtc.io-demo/commit/3b1073d5b6af78100dd7e018f4a67b078ca552e6

"scripts": {
    "predeploy": "cd ./example/public && rm webrtc.io.js && cp ../../node_modules/webrtc.io-client/lib/webrtc.io.js webrtc.io.js",
    "postdeploy": "cd ./example/public && rm webrtc.io.js && ln -s ../../node_modules/webrtc.io-client/lib/webrtc.io.js webrtc.io.js",
    "start": "node example/server.js"
  }
于 2013-02-05T02:01:39.930 回答