2013-07-02 59 views
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) { 
      // 
     } 

    } 
} 
+0

import =不帶引號的模塊語句指的是「內部」模塊,而帶引號的模塊語句指的是「外部」模塊。 AMD模塊是「外部」模塊,因此需要報價。 –

回答

1

此:import breeze = module(Breeze);應請輸入import breeze = module('path_to_breeze_module');,微風模塊的路徑與應用程序的根目錄相關。

如果微風打包爲AMD模塊是,我認爲,不尋常的這隻會工作:否則你可以只取出import線乾脆簡單地包括在<script/>微風你加載你的第一個AMD模塊之前的任何地方(大概與require.js或類似)。

+0

我只想導入breeze = module(Breeze)來編譯爲var breeze = Breeze; – hidden

+0

我明白了!我需要杜蘭達或其他東西。否則,我必須手動加載它才能讓它具有相關性。通過包括微風你的意思是breeze.js的 – hidden

+0

對不對? – hidden

4

你可以改變進口爲

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

請務必在breeze.d.ts模塊定義爲

export module Breeze { 
. 
. 

還要確保已取出///<require for breeze />聲明,你把進口聲明。

PS:import .. = module(...)已更改爲在更新的打字稿版本中導入.. = requre(..)。