1

我目前正在通过提供的自动 URL 加载 socket.io 客户端库:

requirejs.config({
    urlArgs: "b=" + ((new Date()).getTime()),
    baseURL: "/javascripts/",
    paths: {
      /*other libaries here*/
      io: "/socket.io/socket.io"
    },
  shim: {
    "io" : {exports: "io"}
  }
});

这可行,但是不使用 mimosa 的缩小功能,因为它找不到本地文件。它还在启动时给我一个恼人的错误。

2:37:34 - Dependency [[ /socket.io/socket.io ]] for path alias [[ io ]], inside file [[ dr/public/javascripts/common.js ]], cannot be found.
12:37:34 - Dependency [[ io ]], inside file [[ dr/public/javascripts/app.rq.js ]], cannot be found.
12:37:34 - Shim path [[ io ]] inside file [[ dr/public/javascripts/common.js ]] cannot be found.

例如,socket.io npm 包中的 socket.io.js 库是否可用,以便我可以将其作为文件路径包含在内?我也尝试过通过 bower 安装 socket.io 客户端库,然后将其包含在内,但这不能正常工作。

4

1 回答 1

1

详细讨论可以在这里找到:

https://github.com/dbashford/mimosa/issues/338#issuecomment-31974008

总之:

问题是 socket.io 的 npm 和 bower 版本不同;导致奇怪的问题。

不是一个理想的解决方案,但它现在可以工作:

我仍然希望有一种方法可以获取 socket.io 在 /socket.io/socket.io 处自动提供的文件——我的意思是它必须存在于 node_modules/socket.io 文件夹中的某个位置。

于 2014-01-12T14:15:33.527 回答