如何使用 vs2017rc 创建 aurelia typescript 项目

2023-12-07

我是 aurelia 的新手,我需要创建一个框架的原型项目。一开始,我打算使用 sculpture-typescript-aspnetcore 框架,但是当我尝试 vs2017rc 时,我发现它使用 .csproj 作为默认格式(而 vs2015 是 project.json/.xproj),我认为我们应该遵循vs2017,因为我们将在IDE推出后升级它。

vs2017 有一个升级 .xproj 项目的向导,但是升级后(骨骼-typescript-aspnetcore),仍然有很多错误......

我也尝试过aurelia-cli,但似乎还不支持vs2017,有人可以指导创建原型项目吗?我会像上面提到的骨架一样集成一些插件,比如gulp、karma、breeze...

先感谢您。


由于 Visual Studio 2017 刚刚推出,我想我应该回答一下我是如何解决这个问题的,因为使用“sculpture-typescript-aspnetcore”时仍然存在很多错误。

Using https://github.com/aurelia/sculpture-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 仍然有效。所以你需要做的就是运行npm install [email protected] --save在你的 src/sculpture 目录中, --save 只是为了更新你的 package.json 文件,如果你愿意,你也可以稍后自己执行此操作。

完成此操作后,您的 gulp 错误(其中 20 个)应该得到解决。但仍然存在一些由于重复签名而导致的错误。同样,TypeScript 2.0+ 中的情况发生了变化,现在有一种获取和使用声明文件的简化方法。这是关于如何使用 @types 功能的答案:我应该如何在 TypeScript 2 中使用 @types,但为了保持简短和甜蜜,您必须转到 tsconfig.json 文件并明确告诉在哪里可以找到 @types/node 文件夹。它看起来像这样:

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

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

EDIT:最近,我在构建项目时再次遇到了一些问题。我再次收到很多重复的标识符...但是我在 SO 上遇到了这个答案:TypeScript 抛出多个重复的标识符

显然 TypeScript 最新版本附带了开箱即用的获取定义,因此我能够从链接中的答案运行该命令:

npm uninstall @types/whatwg-fetch

并从 typescript 2.1.5 升级到最新版本:

npm install typescript --save

您甚至可能想通过附加来全局安装打字稿-g。 此外,除非您注释掉/删除 url 和 Whatwg-fetch from,否则这将继续成为一个问题typings.jsonglobalDependency 以防止其重新创建自身:

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

然后你可以删除打字文件夹,运行typings install再次或编辑typings文件夹中的index.d.ts并删除whatwg-fetch和url的引用路径。 希望这可以帮助那些即使在“修复”之后也可能遇到相同问题的人。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 vs2017rc 创建 aurelia typescript 项目 的相关文章

  • angularjs:如何向资源对象添加缓存?

    在 http 中添加缓存非常简单 通过传递cache true http docs angularjs org api ng http https docs angularjs org api ng service 24http有缓存选项
  • chrome 调试器承诺在暂停时不会解析?

    也许我没有正确调试承诺 但基本上 如果您在断点处停止并运行异步代码 它实际上不会完成 直到您恢复执行为止 这是一个问题 调试器允许您快速试验多个 api 方法 但如果您恢复它 您就不能 debugger now type the follo
  • 动画进度元素值

    我有一个progress元素 该元素如下所示 div class container div div div
  • jquery window.open 在 ajax 成功中被阻止

    尝试在我的 ajax 成功调用中打开一个新的浏览器窗口 但是 它被阻止为弹出窗口 我做了一些搜索 发现用户事件需要绑定到 window open 才能避免这种情况发生 我还找到了这个解决方案 您可以在 ajax 之前打开一个空白窗口 然后在
  • 如何使用 JavaScript 获取没有 HTML 元素的纯文本?

    我的 HTML 中有 1 按钮和一些文本 如下所示 function get content I don t know how to do in here
  • javascript中按tab键时如何调用函数?

    我有一个这样的功能 function whenEmpty field if field value field style backgroundColor ffcccc alert Please fill the field field f
  • 通过 node-http-proxy 保留基于 cookie 的会话

    我有一个简单的基于 Express 的 Node js Web 服务器 用于开发 JavaScript 应用程序 我将服务器设置为使用 node http proxy 来代理应用程序向在不同域和端口上运行的 Jetty 服务器发出的 API
  • 是否有任何非轮询方式来检测 DOM 元素的大小或位置何时发生变化?

    很长一段时间以来 我一直在寻找一种方法来检测 DOM 元素的大小或位置何时发生变化 这可能是因为窗口调整了大小 或者因为向该元素添加了新的子元素 或者因为在该元素周围添加了新元素 或者因为 CSS 规则已更改 或者因为用户更改了浏览器的字体
  • 使用 JS 合并具有相同值的相邻 HTML 表格单元格

    我已经为此苦苦挣扎了一段时间 我有一个根据一些 JSON 数据自动生成的表 该数据可能会有所不同 我想合并第一列中具有相同值的相邻单元格 例如此表中的 鱼 和 鸟 table tr td fish td td salmon td tr tr
  • 为什么“tbody”不设置表格的背景颜色?

    我在用 tbody 作为 CSS 选择器来设置background color在一个表中 我这样做是因为我有多个 tbody 表内的部分 它们具有不同的背景颜色 我的问题是 当使用border radius在细胞上 细胞不尊重backgro
  • 查询为空 Node Js Sequelize

    我正在尝试更新 Node js 应用程序中的数据 我和邮递员测试过 我的开发步骤是 从数据库 MySQL 获取ID为10的数据进行更新 gt gt 未处理的拒绝SequelizeDatabaseError 查询为空 我认识到 我使用了错误的
  • 如何在jquery中获取保存时间和当前时间的差异?

    我想在 javascript 或 jquery 中获取保存时间和当前时间之间的时差 我节省的时间看起来像Sun Oct 24 15 55 56 GMT 05 30 2010 java中的日期格式代码如下 String newDate 201
  • 如果数字小于 10,则显示前导零 [重复]

    这个问题在这里已经有答案了 可能的重复 JavaScript 相当于 printf string format https stackoverflow com questions 610406 javascript equivalent t
  • 如何将函数内的捕获错误传递给父级

    我有这几行代码示例 想知道下面的逻辑到底如何 try var response child console log why here catch err console log should show this err function c
  • JavaScript onresize 事件多次触发

    我在尝试仅在触发 onresize 事件时运行一次函数时遇到一些麻烦 我已经看过这个问题DOM onresize 事件 https stackoverflow com questions 1500312 javascript onresiz
  • 如何获取 UIWebView 中元素的位置?

    我在 iPad 程序中加载了 html 的 UIWebView 通过使用 webkit column width 我将 html 分为几列 padding 0px height 1024px webkit column gap 0px we
  • 无法在前端使用 JavaScript Fetch API 将文件上传到 FastAPI 后端

    我正在尝试弄清楚如何将图像发送到我的 API 并验证生成的token那是在header的请求 到目前为止 这就是我所处的位置 app post endreProfilbilde async def endreProfilbilde requ
  • 如何在 Google 地图 V3 中创建编号地图标记?

    我正在制作一张上面有多个标记的地图 这些标记使用自定义图标 但我还想在顶部添加数字 我已经了解了如何使用旧版本的 API 来实现这一点 我怎样才能在V3中做到这一点 注意 当您将鼠标悬停在标记上时 标题 属性会创建一个工具提示 但我希望即使
  • 防止文本区域出现新行

    我正在开发聊天功能 使用 Vue 并使用文本区域作为输入 以便溢出换行 并且对于编写较长消息的用户来说更具可读性 不幸的是 当用户按下 Enter 键并提交时 光标会在提交之前移动到新行 从而使用户体验感觉不佳 关于如何使用普通 Javas
  • 在 GWT 中,在任何主机页标记上添加事件处理程序

    我想为任何标签添加 MouseOver 事件处理程序 举个例子 我想为旧版 HTML 页面中的每个锚点页面添加事件处理程序 继GWT指南 http code google com webtoolkit doc 1 6 DevGuideUse

随机推荐

  • 灵活分支与静态分支(Git 与 Clearcase/Accurev)

    我的问题是关于 Git 处理分支的方式 每当您从提交分支时 该分支都不会收到来自父分支的更改 除非您force合并它 但在其他系统中 例如 Clearcase 或 Accurev 您可以指定如何填充分支某种继承机制 我的意思是 使用 Cle
  • C#:将 CSS 注入 MSHTML 实例的最佳方法?

    我正在尝试将一些伴随其他 HTML 的 CSS 注入到 C 管理的 WebBrowser 控件中 我尝试通过底层 MSHTML DomDocument 属性 控件来实现此目的 因为此代码充当完整 IE8 BHO 的原型 问题是 虽然我可以注
  • 如何在 cakephp 3 中的 sql 查询中添加 ` 字符

    我有一个带有特殊字段名称的表 例如 来自 和 订单 该表与另一个cms一起使用 我无法更改表结构 我想使用 cakephp 3 添加记录 但我收到 数据库错误 看来 cakephp 3 的查询没有用 字符进行净化 我在控制器中的代码 tou
  • WaitForInputIdle 不适用于以编程方式启动 mspaint

    我试图打开 mspaint 并在初始化后立即找到它的句柄 但FindWindow回报NULL如果我打电话WaitForInputIdle 如果我尝试使用该功能Sleep 1000 它有效 但我认为等待程序准备好不是正确的方法 这段代码有解决
  • 如何在 TypeScript 中输入具有已知和未知键的对象

    我正在寻找一种方法为以下对象创建 TypeScript 类型 该对象具有两个已知键和一个具有已知类型的未知键 interface ComboObject known boolean field number U string string
  • 使用 PHP 的简单 MVP 示例

    我知道如何与MVC模型 但我不知道如何使用 MVP 我读到了它们之间的差异 但不知道如何实现它 区别是双重的 视图是被动的并且不知道模型 演示者 控制器 更改模型的状态 读取信息并将其传递给视图 public function showUs
  • 如何使用 GData 检索用户的电子邮件地址?

    我正在尝试使用 GData 检索刚刚使用 Google OAuth 授权我的网站的用户的电子邮件地址 真实姓名和个人资料 URL 我们知道如何使用 Google 的 OpenID 流程来请求它 但 OpenID 流程有一个严重的限制 即我们
  • 将鼠标悬停在 上时缩放图像

    我有一个画布 我在上面画了一个图像 var imageObj new Image imageObj onload function context drawImage imageObj 0 0 imageObj src http local
  • 如何使用公司 API 获取公司页面的管理员个人资料详细信息 - Linkedin

    有没有办法使用公司 API 获取管理员个人资料详细信息 公司页面所有者详细信息 或者反之亦然 使用 Profile API 获取用户拥有的公司页面 不是他的雇主 我阅读了文档并可以找到一种方法 非常感谢任何帮助 http developer
  • Volley - 无法解析构造函数“JSONObjectRequest”

    我正在关注这个问题 http www androidhive info 2014 08 android building free wallpapers app part 2 现在我添加了一个启动屏幕并开始了 Volley 请求 本教程所说
  • 在 R 中使用变量创建正则表达式模式

    我有一个功能 ncount lt function num NULL toRead lt readLines abc txt n lt as character num x lt grep n number toRead value TRU
  • 如何绘制一条可选择的线?

    我想创建一个用户能够操纵他绘制的线的应用程序 类似于删除行或选择它 我该怎么做呢 提前致谢 我设法使用硬编码矩形来做到这一点 但我仍然不知道如何使用drawLine 我可以用吗drawPath进行命中测试 这是代码 private bool
  • 如何在 GitHub 存储库中创建文件夹?

    我想在 GitHub 存储库中创建一个文件夹 然后将文件添加到该文件夹 我该如何实现这一目标 TL DR Use 在文件名字段中创建文件夹 例如打字folder1 file1在文件名字段中将创建一个文件夹folder1和一个文件file1
  • 如何在pyparsing中匹配括号/方括号

    我有一个语法标记指定为 list value Suppress oneOf Group delimitedList string value int value list Suppress oneOf 然而 这显然允许 foo bar 如何
  • Oracle SQL:不允许列

    我创建了一个表 CREATE TABLE AIRLINE airline code NUMBER 4 PRIMARY KEY NOT NULL airline name VARCHAR 29 NOT NULL airline address
  • Rails:缺少要链接的主机!请提供 :host 参数或设置 default_url_options[:host]

    我已经在谷歌上搜索了大约 90 分钟 但仍然没有答案 我在哪里设置default url options 我已经设置为config action mailer default url options在其他地方解决同样的错误 但现在我在尝试在
  • NSArray 不区分大小写的indexOfObject

    有没有一种简单的方法可以在 NSString 的 NSArray 中进行不区分大小写的查找 NSArray 的参考文献提到了不区分大小写的排序 但没有提到查找 我可以轻松地编写自己的 fn 来做到这一点 但想知道是否有更简单的方法 我不知道
  • C++中类变量声明的查询

    我有一个类来表示浮点数的 3D 向量 class Vector3D public float x y z float const data Vector3D x 0 0 y 0 0 z 0 0 data x 我的问题是 x y 和 z 是否
  • Python 中的元组真的是不可变的吗? [复制]

    这个问题在这里已经有答案了 今天遇到的一个问题 实际上测试了Python中元组的不变性 面试官 Python 中的元组是不可变的吗 Me Yes 面试官 那么有什么作用print t1 在这里打印 t1 4 5 t1 t1 91 10 pr
  • 如何使用 vs2017rc 创建 aurelia typescript 项目

    我是 aurelia 的新手 我需要创建一个框架的原型项目 一开始 我打算使用 sculpture typescript aspnetcore 框架 但是当我尝试 vs2017rc 时 我发现它使用 csproj 作为默认格式 而 vs20