{"record":{"id":"1affdaae2cc3c5cc","repo":"Meituan-Dianping/mpvue","slug":"failed-to-resolve-type-slice-0-1-id","errorCode":null,"errorMessage":"Failed to resolve ${type.slice(0, -1)}: ${id}","messagePattern":"Failed to resolve (.+?): (.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/core/util/options.js","lineNumber":368,"sourceCode":"  type: string,\n  id: string,\n  warnMissing?: boolean\n): any {\n  /* istanbul ignore if */\n  if (typeof id !== 'string') {\n    return\n  }\n  const assets = options[type]\n  // check local registration variations first\n  if (hasOwn(assets, id)) return assets[id]\n  const camelizedId = camelize(id)\n  if (hasOwn(assets, camelizedId)) return assets[camelizedId]\n  const PascalCaseId = capitalize(camelizedId)\n  if (hasOwn(assets, PascalCaseId)) return assets[PascalCaseId]\n  // fallback to prototype chain\n  const res = assets[id] || assets[camelizedId] || assets[PascalCaseId]\n  if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n    warn(\n      'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n      options\n    )\n  }\n  return res\n}\n","sourceCodeStart":350,"sourceCodeEnd":375,"githubUrl":"https://github.com/Meituan-Dianping/mpvue/blob/6c5d78ee04f58c6d782c456dfcf0fe63c0b7f89b/src/core/util/options.js#L350-L375","documentation":"Fires in resolveAsset after exhaustive lookup fails: the requested id was searched on options[type] (components/directives/filters) as-is, camelized, and PascalCase-capitalized, including the prototype chain (globally registered assets). This is a generic asset-resolution failure guard — the template/compiler referenced a component, directive or filter (per the type argument) by an id that was never registered locally or globally, so resolution returns undefined and rendering falls back to treating the tag as an unknown/native element.","triggerScenarios":"Thrown at src/core/util/options.js:368 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Register the asset: locally via components: { MyComponent } or globally via Vue.component/Vue.directive/Vue.filter","Check the id spelling — Vue tries exact, camelCase and PascalCase variants, but other differences (e.g. 'mycomp' vs 'my-comp') will not match","Verify the registration happens before the consuming component renders (import order, async loading race)","If it's a third-party component, install its plugin (Vue.use) before use"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6c5d78ee04f58c6d782c456dfcf0fe63c0b7f89b","analyzedAt":"2026-09-02T05:17:40.946Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-09T11:17:12.671Z"}