Mimosa.io |.включая библиотеку клиента Socket.io с помощью require.js
Вопрос
Я в настоящее время загружаю библиотеку клиента Socket.IO через автоматическое предоставленное URL:
requirejs.config({
urlArgs: "b=" + ((new Date()).getTime()),
baseURL: "/javascripts/",
paths: {
/*other libaries here*/
io: "/socket.io/socket.io"
},
shim: {
"io" : {exports: "io"}
}
});
.
Это работает, однако не использует Mimosa Minificate возможностей, так как не может найти локальный файл.Это также дает мне раздражающую ошибку при запуске.
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.i.js, доступный в пакете Socket.io NPM, например, чтобы я мог просто включить его в виде FilePath?Я также попробовал установить клиент Socket.io клиента через Bower, а затем, включая его, но это не работает должным образом.
Решение
подробное обсуждение можно найти здесь:
https://github.com/dbashford/mimosa/issues/338#ISSUEComment-31974008
Таким образом:
Проблема заключалась в том, что NPM и Bower версия Socket.io были разными;вызывая странные проблемы.
не идеальное решение, но он работает сейчас:
Я все еще желаю, чтобы там был способ получить файл, который socket.io автоматически предоставляет на /socket.io/socket.io - я имею в виду, что он должен существовать где-то в папке Node_modules / Socket.io.