javascript-如何使用vs2017rc创建aurelia打字稿项目

我是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文件夹中即可解决.这将导致新的错误,因为这些文件中定义的路径现已更改.您将需要编辑应用,子路由器和用户导入,如下所示:
从“ ../../users”导入{Users}; IntelliSense应该可以帮助您.

在更改为新路径之前,也不会运行命令gulp测试,您可以在karma.conf.js中更改路径:

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

接下来,users.ts文件将引发错误,例如无法将类型“ Response”分配给类型“ any []”.您需要像这样告诉TypeScript您声明的内容:public users:Object = [];或者简单地说:公共用户= {};

最终的问题是,您将有很多重复的标识符错误,在撰写本文时,原因似乎是来自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功能的答案:How should I use @types with TypeScript 2,但是为了简短易懂,您必须转到tsconfig.json文件,并明确告诉在哪里可以找到@ types / node文件夹.它看起来像这样:

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

希望这会有所帮助,通过这些更改,项目现在应该可以正确构建和启动.

编辑:
最近,我在构建项目时又遇到了一些问题.我又得到了很多重复的标识符…但是我在SO:TypeScript throws multiple duplicate identifiers上遇到了这个答案

显然TypeScript是最新提供的,具有开箱即用的定义,因此我能够从链接中的答案运行命令:

npm uninstall @types/whatwg-fetch

并从打字稿2.1.5升级到最新版本:

npm install typescript --save

您甚至可能想通过附加-g全局安装Typescript.
另外,除非您注释掉/删除urls和whatwg-fetchings来自types.json globalDependencies,以防止其重新创建自身,否则这将继续是一个问题:

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

然后,您可以删除打字文件夹,再次运行打字安装,或者在打字文件夹中编辑index.d.ts并删除whatwg-fetch和url的引用路径.
希望这对即使“修复”后仍可能遇到相同问题的人有所帮助.

转载注明原文:javascript-如何使用vs2017rc创建aurelia打字稿项目 - 代码日志