簡體   English   中英

如何使用vs2017rc創建Aurelia打字稿項目

[英]How to create aurelia typescript project with vs2017rc

我是aurelia的新手,我需要創建框架的原型項目。 一開始,我計划使用skeleton-typescript-aspnetcore框架,但是當我嘗試使用vs2017rc時,我發現它使用.csproj作為默認格式(而vs2015是project.json / .xproj),我認為我們應該遵循vs2017,因為我們將在IDE啟動后對其進行升級。

vs2017有一個升級.xproj項目的向導,但是升級之后(skeleton-typescript-aspnetcore),我面前仍然有很多錯誤...

我也嘗試過aurelia-cli,但是似乎它還不支持vs2017,有人可以指導創建原型項目嗎? 我將集成一些插件,例如上面提到的骨架,例如gulp,karma,breeze ...

先感謝您。

自從Visual Studio 2017剛剛啟動以來,我想我會回答如何解決此問題,因為在使用“ skeleton-typescript-aspnetcore”時仍然存在許多錯誤。

https://github.com/aurelia/skeleton-navigation/releases/tag/1.1.2作為起點,以下是使其運行的步驟:

首次運行項目時,您會得到錯誤消息,提示/ test /中的某些文件不在'rootDir'下。 在tsconfig.json中,將rootDir定義為“ src /”,只需將您的測試文件夾移到src文件夾中即可解決。 這將導致新的錯誤,因為這些文件中定義的路徑現已更改。 您將需要編輯應用,子路由器和用戶導入,如下所示: import {Users} from '../../users'; IntelliSense應該可以幫助您。

在更改為新路徑之前,也不會運行命令gulp test ,您可以在karma.conf.js中更改路徑:

files: [
  'src/test/unit/setup.ts',
  'src/test/unit/*.ts'
],

接下來,文件users.ts將引發錯誤,例如Type 'Response' is not assignable to type 'any[]' 您需要像這樣告訴TypeScript您聲明的內容: public users : Object = []; 或者簡單地說: public users = {};

最終的問題是,您將有很多重復的標識符錯誤,在撰寫本文時,原因似乎是來自TypeScript 2.2.1版帶來的更改。 我不知道具體中斷了什么,但我知道以前的版本2.1.5仍然有效。 因此,您需要做的是在src / skeleton目錄中運行npm install typescript@2.1.5 --save ,--save只是更新package.json文件,您以后也可以自行執行此操作如果你希望。

完成之后,應該解決您的gulp錯誤(其中20%)。 但是仍然存在由於重復簽名導致的一些錯誤。 同樣,TypeScript 2.0+中的情況已經發生了變化,現在有了獲取和使用聲明文件的簡化方法。 這是關於如何使用@types功能的SO答案: 我應該如何在TypeScript 2中使用@types ,但是為了簡短易懂,您必須轉到tsconfig.json文件,並明確告訴在哪里找到@ types / node文件夾。 它看起來像這樣:

"compilerOptions": {
...
"typeRoots": [
   "node_modules/@types"
],
"types": [ "node" ]
...
},

希望這會有所幫助,通過這些更改,項目現在應該可以正確構建和啟動。

編輯:最近我在構建項目時又遇到了一些問題。 我又得到了很多重復的標識符...但是我在SO上遇到了這個答案: TypeScript拋出多個重復的標識符

顯然TypeScript是最新提供的,具有開箱即用的定義,因此我能夠從鏈接中的答案運行命令:

npm uninstall @types/whatwg-fetch

並從打字稿2.1.5升級到最新版本:

npm install typescript --save

您甚至可能想通過附加-g全局安裝typescript。 另外,除非您注釋掉/刪除urls和whatwg- typings.json來自typings.json globalDependencies,以防止其重新創建自身,否則這將繼續是一個問題:

 "globalDependencies": {
    //"url": "github:aurelia/fetch-client/doc/url.d.ts#bbe0777ef710d889a05759a65fa2c9c3865fc618",
    //"whatwg-fetch": "registry:dt/whatwg-fetch#0.0.0+20160524142046"
  }

然后,您可以刪除打字文件夾,再次運行打字typings install ,或者在打字文件夾中編輯index.d.ts並刪除whatwg-fetch和url的引用路徑。 希望這對即使“修復”后仍可能遇到相同問題的人有所幫助。

暫無
暫無

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

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