我有一个 Vue.js 应用程序 (m4ops),并且正在开发一个公共 Vue.js 包 ( vfg-display-fields ) 作为其中的一部分。由于它是一个树形结构,包有一对循环引用的组件。我已经使用Vue.js Guide中的方法解决了这个问题。
在我的 vfg-display-fields 包中,这两种方法都可以很好地工作。当我发布包并将其导入我的主 m4ops 包时,它也可以使用任何一种方法正常工作。
当我尝试在 CodeSandbox 中展示包时出现问题(请参阅https://codesandbox.io/s/ykpj1jpxvv)。
使用我使用的第一个建议方法
beforeCreate() {
this.$options.components['vfg-display-fields'] = require('./DisplayFields.vue').default;
},
在 CodeSandbox 我得到错误:
[Vue warn]: Unknown custom element: <vfg-display-fields> - did you register the component correctly? For recursive components, make sure to provide the "name" option.
使用第二种方法
components: {
'vfg-display-fields': () => import('./DisplayFields.vue'),
},
我得到错误
proxyConsole.js:72 [Vue warn]: Failed to resolve async component: function vfgDisplayFields() {
return _promise.default.resolve().then(function () {
return require("".concat(function () {
return require('./DisplayFields.vue');
}));
});
}
Reason: DependencyNotFoundError: Could not find dependency: 'function () {
return require('.' relative to '/node_modules/vfg-display-fields/src/DisplayGroups.vue'
这只是我的第一个包,我对 Vue.js 非常陌生。我的包似乎在其预期位置(我的 m4ops 应用程序)中运行良好,但在 CodeSandbox 中却没有。这是我的错误还是 CodeSandbox 中的错误?