微风打字稿工具

时间:2016-09-29 23:43:43

标签: typescript breeze

使用精彩的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上配置任何内容。

2 个答案:

答案 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