3

导入微风=模块(微风)给我以下错误:模块不能被非模块类型别名

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

    }
}
4

2 回答 2

4

您可以将导入更改为

import breeze = require ("../typings/breeze");

请确保在微风.d.ts 模块中定义为

export module Breeze {
.
.

还要确保您已删除///<require for breeze />放置导入语句的语句。

PS: import.. = module(...) 在较新的 typescript 版本中已更改为 import ..= requre(..)。

于 2013-12-15T10:39:09.350 回答
1

这:import breeze = module(Breeze);应该是import breeze = module('path_to_breeze_module');微风模块的路径相对于应用程序根目录的位置。

这只有在微风被打包为 AMD 模块时才有效,我认为这是不寻常的:否则你可以完全删除该import行并在<script/>加载第一个 AMD 模块之前简单地将微风包含在任何地方(大概使用 require.js 或类似的)。

于 2013-07-02T21:15:01.577 回答