Ember трассировка стека унификации модуля: ошибка: сбой подтверждения: «адаптер данных» не распознан - PullRequest
0 голосов
/ 19 марта 2019

Данные Ember не будут отображаться в инспекторе. Ошибка отображается ниже.Я использую модуль унификации в новом ember. модуль унификации ember

Может кто-нибудь сказать мне, как это исправить, потому что мне нужно увидеть данные в инспекторе ember?

Данные показывают пустые данные, которые я вижу модельно ничего нет (изображение ниже):

Ember Inspector has errored.
This is likely a bug in the inspector itself.
You can report bugs at https://github.com/emberjs/ember-inspector.
Error message: Assertion Failed: 'data-adapter' is not a recognized type
Stack trace: Error: Assertion Failed: 'data-adapter' is not a recognized type
    at assert (http://localhost:4200/assets/vendor.js:73088:19)
    at Resolver._definitiveCollection (http://localhost:4200/assets/vendor.js:73063:31)
    at Resolver.identify (http://localhost:4200/assets/vendor.js:73027:37)
    at Resolver.resolve (http://localhost:4200/assets/vendor.js:73055:27)
    at Class.resolve (http://localhost:4200/assets/vendor.js:98399:36)
    at Class.resolve (http://localhost:4200/assets/vendor.js:98232:25)
    at Class.superWrapper [as resolve] (http://localhost:4200/assets/vendor.js:41053:22)
    at _resolve (http://localhost:4200/assets/vendor.js:12906:36)
    at Registry.resolve (http://localhost:4200/assets/vendor.js:12445:21)
    at Registry.resolve (http://localhost:4200/assets/vendor.js:12450:60)
warn @ VM2062:92
handleError @ VM2062:149
(anonymous) @ VM2062:3515
_run @ backburner.js:1066
run @ backburner.js:748
run @ index.js:111
wrap @ VM2062:3511
messageReceived @ VM2062:3482
get.onMessageReceived.message @ VM2062:3476
get.forEach.callback @ VM2062:127
_messageReceived @ VM2062:126
run @ VM2062:344
_run @ backburner.js:1066
run @ backburner.js:748
run @ index.js:111
chromePort.addEventListener.event @ VM2062:343

дерево файлов:

src
├── data
│   └── models
│       ├── application
│       │   └── model.js
│       └── user
│           ├── adapter.js
│           └── model.js
├── formats.js
├── init
│   └── initializers
│       └── i18n.js
├── main.js
├── resolver.js
├── router.js
├── services
│   └── intl.ts
└── ui
    ├── components
    ├── index.html
    ├── routes
    │   ├── about-page
    │   │   ├── route.js
    │   │   └── template.hbs
    │   ├── application
    │   │   ├── controller.js
    │   │   ├── route.js
    │   │   └── template.hbs
    │   └── user
    │       ├── controller.js
    │       ├── route.js
    │       └── template.hbs
    ├── styles
    │   └── app.css
    └── utils

Это файловая структура объединения модуля.В package.json нет ничего особенного.

После добавления этих настроек (из @ NullVoxPopuli ) в resolver.js

  "data-adapter": { definitiveCollection: "main" },
  "container-debug-adapter": { definitiveCollection: "main" },
  "resolver-for-debugging": { definitiveCollection: "main" }

  assign(moduleConfig.collections, {
    data: { types: ["data-adapter", "model"], defaultType: "model" }
});

PIC

1 Ответ

0 голосов
/ 19 марта 2019

Это одна из самых грубых частей объединения модулей на данный момент.

До сих пор я смог получить вкладку данных в инспекторе для загрузки с этой конфигурацией преобразователя:

import Resolver from 'ember-resolver/resolvers/fallback';

import buildResolverConfig from 'ember-resolver/ember-config';
import config from '../config/environment';

let moduleConfig = buildResolverConfig(config.modulePrefix);

moduleConfig.types = Object.assign(moduleConfig.types, {
  // ember-inspector support
  'data-adapter': { definitiveCollection: 'main' },
  'container-debug-adapter': { definitiveCollection: 'main' },
  'resolver-for-debugging': { definitiveCollection: 'main' },
});

moduleConfig.collections.main.types.push('data');

moduleConfig.collections = Object.assign(moduleConfig.collections, {
  data: {
    types: ['data-adapter', 'model'],
    defaultType: 'model',
  },
});

export default Resolver.extend({
  config: moduleConfig,
});

с этим конфигом, модели выбираются, только если они названы в src/data/models/{model-name}.js - если модель на src/data/models/{model-name}/model.js, это не говорит инспектору, где искать.

...