Angular сборка cli prod не оценивает импортированную константу (вместо нуля) в AppModule - PullRequest
0 голосов
/ 21 января 2020

Я думаю, что оптимизатор сборки 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 во время "оптимизации"?

...