簡體   English   中英

使用tsconfig.json的Visual Studio 2015,Typescript和angular2

[英]Visual Studio 2015, Typescript and angular2 with tsconfig.json

我一直在嘗試最新版本的Angular2(2.0.0-alpha.44)和Visual Studio 2015.以下是我正在使用的與此問題相關的所有版本:

  • Visual Studio 2015
  • Asp.NET 5
  • 打字稿1.6
  • Resharper 10
  • Angular 2.0.0-alpha.44

這是我的解決方案:

解決方案探索者

我的所有打字稿都在/ Ts目錄中,該目錄還有一個tsconfig.json文件。 這使得Visual Studio顯示“打字稿虛擬項目”

tsconfig.json ts虛擬項目的解決方案

只要我import {Component, bootstrap} from "angular2/angular2"; 在我的main.ts中 ,它在我的node_modules目錄中找到了angular2庫文件並顯示了這些文件(不知道flattened目錄結構是什么)

ts resharper警告

此時,typescript編譯器將編譯該單個文件(main.ts)。 但是,它不再編譯該文件夾中的任何其他.ts文件(它在將angular2引入之前),並且它不會將輸出放在我的tsconfig.json指定的outFile位置中

Resharper表示找到Componentbootstrap引用時出現問題,但工具提示似乎也理解了這些引用的簽名。 不確定兩者都是如此。

如果我從等式中刪除angular2,typescript會愉快地跟隨我的tsconfig.json中的所有設置,將所有.ts文件編譯成app.js並將其放入../wwwroot/js/app.js

ts resharper警告與工具提示

有沒有人有成功的VS2015,打字稿和angular2一起玩得很好?

TypeScript手冊:

在TypeScript中,就像在ECMAScript 2015中一樣,任何包含頂級導入或導出的文件都被視為模塊。

就像JS文件和模塊之間存在一對一的對應關系一樣,TypeScript在模塊源文件和它們發出的JS文件之間具有一對一的對應關系。 這樣做的一個影響是不可能使用--outFile編譯器開關將多個模塊源文件連接成一個JavaScript文件。

我相信當你“從等式中移除angular2”時,這就是你輸出的原因。 模塊和outFile不兼容。 請改用outDir

另外,我試圖將tsconfig文件放在子文件夾中,但Visual Studio不尊重它,所以我將它移回項目根目錄。

我已經嘗試了幾個星期了。 似乎d.ts文件仍然不正確。 如果您注意到,定義文件仍在alpha 38或39上。

即使定義文件不在alpha 38或39上,並且是從正確的版本創建的,我仍然認為你不能讓它工作,因為它沒有任何形狀或形式固化,它仍然缺少一個我相信一堆東西。

你得到的錯誤我還沒有看到,我不使用resharper(雖然我認為這不應該導致你的問題)。 我能說的是,我確實在alpha 26中取得了成功,在這里找到:

https://github.com/microsoft/ngconf2015demo

它可能不會幫助你,因為它是一個早期的alpha版本。

此外,在較新的alphas中,他們已經開始創建UpdateAdapter,可以在這里找到一個示例:

http://blog.thoughtram.io/angular/2015/10/24/upgrading-apps-to-angular-2-using-ngupgrade.html

這是一個非常重要的組件,因為每個嘗試早期采用的人都想要在angular2中使用angular1指令。

我也不能讓它工作(即使這是一個超級新的alpha版本)。 定義文件仍然只有39,並且它們之間存在一些差異。 即使我按原樣導入他的整個項目,也有很多缺少的引用和導出。 關於這一點沒有太多可以做的,除了嘗試自己修改d.ts文件以消除構建錯誤。

此外,模塊系統應該設置為AMD我相信。 這將幫助您更接近於擊敗編譯時錯誤。 另外,在visual studio中,你需要將標准設置為es5我相信為了讓angular2在此刻運行(但我不確定,這只是我用來運行alpha 26示例的步驟)。

我仍然每天都在嘗試工作,所以如果我能夠讓它運行起來(我認為如果不進入angular2代碼庫並學習它我將無法做到,我可能會在下一步幾個星期),我將編輯此回復並讓您知道。 在此期間,請繼續關閉並查看是否可以讓它工作並讓我知道!

在我看來,angular2的采用需要盡快為任何行業領導者發布,因為使用angular2的優勢無法表達得足夠多。 不幸的是,由於在任何應用程序中絕對需要的許多指令仍然使用角度1.4,因此從業務角度來看,在使用angular2之前,需要使用UpgradeAdapter(ngUpgrade)。

編輯:

實際上,現在似乎定義文件現在位於angular2源內,而不是tsd。 嘗試從angular2源獲取d.ts文件,然后嘗試編譯打字稿文件。

使用角度2.0設置ASP.Net 5按照頁面中的所有步驟操作。 它對我有用。

無論服務器是否正在運行,都要將all.ts文件編譯為.js。

打開PowerShell - >重定向到項目的根文件夾並輸入'tsc'。 它將編譯所有文件。

如果要在保存/更新.ts文件時編譯所有.js文件,請在PowerShell中鍵入'tsc - watch',不要關閉它。

您必須安裝Node。

創建以下文件和數據必須與Angualr快速入門相同

tsconfig.json
typings.json
的package.json

Visual Studio插件,用於在CMD或PowerShell中打開項目根文件夾

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM