StoreModule.forFeature не существует

Я пытаюсь взять существующее состояние хранилища ngrx и реорганизовать его в подфункциональные модули. Проблема в том, что когда я использую StoreModule.forFeature в импорте своих функциональных модулей... Я получаю сообщение об ошибке во время компиляции:

ERROR in [at-loader] ./src/app/components/login/login.module.ts:67:21
TS2339: Property 'forFeature' does not exist on type 'typeof StoreModule'.

На самом деле я искал в node_modules/@ngrx/store «forFeature», но ничего не дал. Затем я переустановил и @ngrx/store, и @ngrx/core, по-прежнему не получая результатов поиска для «forFeature». Я проверил документацию, и «forFeature» все еще указан, а не устарел, в списке документов.

Операторы импорта выглядят следующим образом:

import {StoreModule} from "@ngrx/store";
import {reducers} from "./rdx/reducers/index"; ...
@NgModule({
imports: [StoreModule.forFeature('loginFeature',reducers)]
...
}

версии, в которых я использую o NGRX, как показано в пакете json, следующие:

"@ngrx/core": "^1.2.0",
"@ngrx/store": "^2.2.3",

Также искал Google для этой проблемы безрезультатно. только результаты для удаления «forRoot» в «provideStore», который я уже использую.


person TKDev    schedule 23.04.2018    source источник
comment
Может быть только один стотре, простой и простой   -  person Meme Composer    schedule 23.04.2018
comment
Я говорю о методе StoreModule.forFeature(), как описано в посте. этот метод - это то, как они объясняют абстрагирование хранилища в модули, это указано в их документации, но его нет в определениях StoreModule в библиотеках node_modules.   -  person TKDev    schedule 23.04.2018
comment
Похоже, ваша версия ngrx устарела. Текущая стабильная версия 5.2. Трудно сказать, когда они ввели фрактальное состояние. По крайней мере, он присутствует в v4.   -  person bygrace    schedule 23.04.2018


Ответы (2)


Решил эту проблему. Проблемы были:

  1. что, когда я установил ngrx, он автоматически установил последнюю из предыдущих версий ngrx, что означает 2.2.3, чтобы установить действительно последнюю версию, мне пришлось использовать npm install --save @ngrx/store@ последний @ngrx/core@latest, который установил "@ngrx/store": "^5.2.0"

  2. Документация ngrx — в их документации на github они предписывают вам специально установить ngrx следующим образом: npm install @ngrx/core @ngrx/[email protected] --save, вы можете увидеть это в по следующей ссылке при установке: https://github.com/ngrx/store

person TKDev    schedule 24.04.2018

Что-то еще не так с вашим кодом.

Ошибка не говорит: «Свойство forFeature не существует для типа StoreModule».

В нем говорится: «Свойство forFeature не существует для типа TYPEOF StoreModule» (которое должно быть неопределенным).

person Roberto Zvjerković    schedule 23.04.2018
comment
но я использую магазин везде в моем коде без проблем, только когда я пытался использовать forFeature, я получил эту ошибку - person TKDev; 24.04.2018
comment
Я думаю, что это как-то связано с версией ngrx. Почему вы используете версию 2.0, если сейчас доступна версия 5.2? Документация, вероятно, ссылается на новую версию. Попробуйте обновить свою зависимость. - person Roberto Zvjerković; 24.04.2018
comment
да, ты был прав... это версия. однако для моей защиты в документации по умолчанию для магазина ngrx они предписывают вам установить версию 2.2 специально, в то время как на странице платформы они используют инструкции для версий 4.x. - person TKDev; 24.04.2018