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.jsライブラリはsocket.io npmパッケージで利用できるので、ファイルパスとして含めることができますか? また、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 に答える