Я думаю, что оптимизатор сборки angular cli prod не учитывает, что одна из моих переменных имеет зависящее от времени выполнения значение (местоположение). Как я могу решить это?
У меня есть config.ts, который экспортирует константу.
export const SOCKET_URL = !environment.production ? 'http://localhost:8080' : (location.protocol + '//' + location.host);
Мой AppModule выглядит следующим образом
const socketIoConfig: SocketIoConfig = { url: SOCKET_URL, options: {} };
// correct output in browser console during runtime
console.log('SOCKET_URL: ' + SOCKET_URL);
@NgModule({
declarations: [
AppComponent
],
imports: [
AppRoutingModule,
BrowserAnimationsModule,
SocketIoModule.forRoot(socketIoConfig),
Если я запускаю приложение, я получаю ошибки соединения, потому что "http://null/socket.io/" не может быть достигнуто.
Если мой AppModule выглядит следующим образом
const socketIoConfig: SocketIoConfig = { url: 'http://192.168.1.102:8080', options: {} };
вместо ... url: SOCKET_URL ...
, он работает! Но сбивает с толку то, что с SOCKET_URL
оператор console.log () выводит правильный вывод.
Есть ли ошибка angular CLI во время "оптимизации"?