使用精彩的Breeze Typescript Entity Generator tool,但不断收到错误
Error: Unable to locate the default implementation of the 'modelLibrary' interface. Possible options are 'ko', 'backingStore' or 'backbone'. See the breeze.config.initializeAdapterInstances method.
错误发生在tsgen-core.js的这一行:
var metadataStore = breeze.MetadataStore.importMetadata(metadata);
我确信它正在抓取元数据。看起来我应该使用interfaceAdapter配置breeze,但repo中的示例在使用它来导入此工具的元数据之前不会在breeze上配置任何内容。
答案 0 :(得分:0)
我们忘记更新tsgen.js
以获取最新版本的breeze-client,它使用breeze.base.debug.js
作为默认的js文件而不是breeze.debug.js。 breeze.debug.js文件有一个默认的modelLibrary,但是breeze.base.debug.js没有。
我已更新tsgen.js以使用breeze.debug.js。请获取最新信息并重试。
答案 1 :(得分:0)
我正在研究从IEdmModel到metas.json并遇到这个问题。为了解决您的问题,我必须注册模型库支持:
var backing = require('breeze-client/bundles/breeze-client-adapter-model-library-backing-store.umd');
var breeze = require('breeze-client/bundles/breeze-client.umd');
backing.ModelLibraryBackingStoreAdapter.register();
要获取元数据csdl,我组合了一个扩展方法以将IEdmModel转换为csdl。
https://gist.github.com/Rodbourn/691e5277f061b26189820c03504a544b