import breeze = module(Breeze)给出了以下错误: 模块不能由非模块类型别名
/// <reference path="../typings/breeze.d.ts" />
export module DataContext {
import breeze = module(Breeze);
export class FileStructure {
private EntityQuery: breeze.EntityQuery;
private Manager: breeze.EntityManager;
constructor(MainController: string) {
//validate the format api/BreezeController/
this.EntityQuery = new breeze.EntityQuery;
this.Manager = this.configureBreezeManager(MainController);
}
private configureBreezeManager(MainController: string) {
breeze.NamingConvention.camelCase.setAsDefault();
return new breeze.EntityManager(MainController);
}
public getAllFileStructures()
{
//define the query
var query =
this.EntityQuery
.from('FileStructure')
.using(this.Manager).execute()
.then(this.querySucceeeded)
.fail(this.queryFailed);
return query;
}
//define the promises and how they will behave once a query its executed.
private querySucceeeded(data) {
return data.results;
}
private queryFailed(error) {
//
}
}
}
答案 0 :(得分:4)
您可以将导入更改为
import breeze = require ("../typings/breeze");
请确保在breeze.d.ts模块中定义为
export module Breeze {
.
.
另外请确保您已删除了放置import语句的///<require for breeze />
语句。
PS:import .. = module(...)已更改为import .. = requre(..)in newer typescript version。
答案 1 :(得分:1)
这个:import breeze = module(Breeze);
应为import breeze = module('path_to_breeze_module');
,其中breeze模块的路径相对于应用的根目录。
这只有在微风被打包为AMD模块时才有效,我认为这是不寻常的:否则你可以完全删除import
行,只需在<script/>
之前的任何地方包含微风加载你的第一个AMD模块(可能是require.js或类似的)。