У меня есть ngModule, который использует ngx-socket-io , я удалил ненужный импорт и инъекции :), как вы можете заметить, я прокомментировал некоторый код, который работает как charm только в разработке сборки приложения,как только я создаю приложение, используя --prod, эти переменные больше не будут работать, если они будут зарегистрированы на консоли, то значение будет таким же, как статическое объявление, но SocketIoModule.forRoot (socketConfig) не увидит их, если сборка с использованием --prod flag
import { SocketIoModule, SocketIoConfig } from "ngx-socket-io";
const socketConfig = {
url: 'http://localhost:3000',
options: {
query: {
userId: "f9ae03de-f043-4704-882e-d269ee514805"
}
}
};
// const userId = (<any>window).MaxDuel.instance.userId;
// const socket = (<any>window).MaxDuel.instance.socket;
// const socketConfig = {url: socket, options: {query: {userId}}};
// const socketConfig2 = JSON.parse(JSON.stringify(socketConfig));
console.log(socketConfig);
@NgModule({
declarations: [],
imports: [
SocketIoModule.forRoot(socketConfig)
],
entryComponents: [],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule {}
но после комментирования переменных и введения той же копии, но в статическом объявлении, приложение снова начинает работать!как вы можете видеть, я даже сериализовал и десериализовал для имитации статического объявления, но опять же ничего!
главная проблема в том, что мне нужен userId для соединения, и эта переменная не может быть статической