typescript和breeze模块不能由非模块类型别名

时间:2013-07-02 20:46:42

标签: typescript breeze

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) {
           //
        }

    }
}

2 个答案:

答案 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或类似的)。