2015-05-30 62 views
6

我的問題是一飲而盡編譯過程中出現錯誤:角打字稿分型引用未找到的路徑

錯誤TS6053:文件「/Users/myname/dev2/test2/typings/angularjs/angular.d.ts」不找到。

但是文件真的存在! 如果我複製了foo文件夾中的d.ts文件,它將起作用。但這不可能是一種有效的方式。我如何定義一個有效的參考?而不是項目絕對路徑可能嗎?

路徑:

source/modules/foo/controller.ts 
typings/.. 

controller.ts:

/// <reference path="../../../typings/angularjs/angular.d.ts" /> 

module('app').controller("fooController", 
[ "$scope", 
    ($scope) 
     => new Application.Controllers.fooController($scope) 
]); 



module Application.Controllers{ 

    export class fooController{ 

     constructor($scope){ 
     $scope.name = 'I am foo Hans'; 
     } 
    } 
} 
+0

相對路徑應該工作。我從來沒有遇到過問題。錯誤路徑中有「dev2/test2」。那是對的嗎? –

+0

是的,這是我的項目路徑。完整的路徑確實存在。我可以做一個「貓」命令,它顯示/Users/myname/dev2/test2/typings/angularjs/angular.d.ts的內容 – Andreas

回答

13

我發現這個問題!:

這是在gulpfile.js設置:

var tsResult = gulp.src('source/modules/**/*.ts') 
    .pipe(ts({ 
     declarationFiles: true, 
     noExternalResolve: false 
    })); 

設置noExternalResolvetrue它使它僅在「modules」下面搜索。

感謝mrhobo的迴應。