Mimosa.io |.Compresa la libreria client Socket.io con richiesta.js
Domanda
Attualmente sto caricando il socket.io Libreria client tramite l'URL automatico fornito:
requirejs.config({
urlArgs: "b=" + ((new Date()).getTime()),
baseURL: "/javascripts/",
paths: {
/*other libaries here*/
io: "/socket.io/socket.io"
},
shim: {
"io" : {exports: "io"}
}
});
.
Questo funziona, tuttavia, non utilizza le capacità minificanti di Mimosa in quanto non riesce a trovare il file locale.Mi dà anche un fastidioso errore all'avvio.
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.
.
è il socket.io.js Libary disponibile nel socket.Io pacchetto NPM, ad esempio, quindi posso semplicemente includerlo come filepath?Ho anche provato a installare il socket.Io client Libary attraverso Brower e quindi incluso, ma questo non funziona correttamente.
Soluzione
Discussione dettagliata può essere trovata qui:
https://github.com/dbashford/mimosa/issues/338#Issuecomment-31974008
in riepilogo:
.Il problema era che la versione NPM e BOWER del socket.IO erano diversi;causando problemi strani.
Non è una soluzione ideale, ma funziona per ora:
.Vorrei ancora che ci sia stato un modo per ottenere il file che socket.io fornisce automaticamente a /socket.io/socket.io - intendo dire che deve esistere da qualche parte nella cartella Node_Modules / Socket.io.