Mimosa.io |incluyendo Socket.IO Client Library con Requery.js
Pregunta
Actualmente estoy cargando Socket.IO Client Library a través de la URL automática proporcionada:
requirejs.config({
urlArgs: "b=" + ((new Date()).getTime()),
baseURL: "/javascripts/",
paths: {
/*other libaries here*/
io: "/socket.io/socket.io"
},
shim: {
"io" : {exports: "io"}
}
});
Esto funciona, sin embargo, no utiliza las capacidades de minificación de MIMOSA, ya que no puede encontrar el archivo local.También me da un error molesto en el inicio.
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.
es el Socket.io.js Libary disponible en el paquete Socket.IO NPM, por ejemplo, ¡solo puedo incluirlo como un filepath?También he intentado instalar el cliente de Socket.IO Libary a través de la Bower y luego, incluido, pero eso no funcionó correctamente.
Solución
Se puede encontrar discusión detallada aquí:
https://github.com/dbashford/mimosa/issues/338#issuecomment-31974008
en resumen:
El problema era que la versión de NPM y Bower de Socket.IO eran diferentes;causando problemas extraños.
No es una solución ideal, pero funciona por ahora:
Todavía deseo que hubiera una manera de obtener el archivo que Socket.IO proporciona automáticamente en /socket.io/socket.io. Quiero decir que debe existir en algún lugar de la carpeta node_modules / socket.io.