2017-01-08 26 views
1

我搜索很多,並且還應用了這些: "Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets"到.csproj的文件Visual Studio的內部TS編譯器不工作

最關鍵的是,我已經工作我已經通過angular-cli創建這裏是tsconfig應用文件內容:

{ 
    "compilerOptions": { 
    "baseUrl": "", 
    "declaration": false, 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "lib": ["es6", "dom"], 
    "mapRoot": "./", 
    "module": "es6", 
    "moduleResolution": "node", 
    "outDir": "../dist/out-tsc", 
    "sourceMap": true, 
    "target": "es2015", 
    "typeRoots": [ 
     "../node_modules/@types" 
    ] 
    } 
} 

所以我試圖使用Visual Studio項目相同的配置,然後在 項目屬性編輯TypesciptBuild部分,在這裏它的樣子: enter image description here

我希望在腳本目錄中看到生成的js文件,但是當我保存(ts)文件時,它不起作用。 我認爲問題在這裏是根目錄,因爲沒有任何一個庫似乎可以被ts文件訪問。但是,一切似乎都沒有錯。我該怎麼辦? enter image description here

回答

0

Visual Studio中的tsconfig.json &的package.json文件應該從tsconfig讀取。包含在你的項目中的json文件。因此,在<TypescriptBuild>部分手動設置值可能沒有任何作用。

我認爲你的問題在於你在你的tsconfig.json中設置了typeRoots。這將導致ts編譯器在所有類型中查找該定義的文件夾。 Angular類型存在於node_modules/@angular/*下,而不是在node_modules/@types下,所以這可能是您爲什麼會收到這些錯誤。由於您將moduleResolution設置爲node,因此它會默認查找存在於node_modules之下的所有類型,其中存在所有的Angular類型以及在node_modules/@types中指定的任何全局類型。因此刪除typeRoots可能會解決您的一些問題。

相關問題