到目前为止,我们已经习惯了tsd或(更好的版本)打字
但是现在 TypeScript 2 提供了新的@types功能,我应该如何将我当前的项目转换为与@types
一起使用?
我有tsd.json(在某些情况下是typings.json)和所有的依赖项,迁移到TypeScript 2的步骤是什么?
有哪些新的最佳实践?@types是否支持特定版本?
看起来它们都只是 npm 包,你可以在这里找到所有支持的包。
TSC将选择node_modules文件夹中的任何类型。
你可以在package.json中移动你在typings.json中的依赖项(当然,前提是你也更改了名称)。
你可以在这里读到更多。
Typecript 2.0摆脱了以前的Typings系统。
现在Typecript 2.0默认情况下应该查看。/node_modules/@类型
并获取您作为单独节点模块安装的类型,例如npm的安装-保存@类型/反应
(如@大卫·谢雷特所提到的)
当前版本Typescript 2.0 beta存在一个bug,不加载新类型。通过cmd手动编译新的tsc文件,但是VS 2015中没有IntelliSense支持,并且当. ts文件处于编辑模式时不会显示错误。
要解决此问题,请使用类似的设置修改< code>tsconfig.json:
{
"compilerOptions": {
// ... other config rows
"typeRoots": [ "node_modules/@types/" ],
"types": [ "jquery", "react", "react-dom", /*... your other types */ ],
}
}
对我来说,手动< code >“types”声明帮助解决了这个问题,对其他人来说< code >“typeRoots”也有帮助。希望这将节省开发人员的时间。
这很简单。只需通过 npm 安装所需的定义即可。
例如,如果您需要洛达什,您可以这样做:
npm install --save @types/lodash
安装后,您可以立即在您的项目中使用它。排版脚本将默认从node_modules/@类型文件夹解析已安装的@类型包的类型。不再需要tsd.json或typings.json文件。
其他要点:
有关类型根
和类型的
信息。特别要注意这两点:
了 typeRoots
,则只有指定的文件夹将用于根类型。这将排除 ./npm_modules/@types/,除非您指定它。了类型
,则仅包含指定的包。在此处的博客文章中阅读更多内容。
我在Ubuntu 14.04中安装了phpbrew以使用PHP5.4。它工作得很好,但当我尝试使用composer时除外,composer会忽略phpbrew并安装与PHP5.5相关的依赖项。 有没有办法强制composer与phpbrew config兼容?我试图在我的作曲家中添加:php:“5.4”。json,但是它说这个要求在我的php版本中是不可能的。
我是Micronaut框架的新手,我正在尝试使用entitymanager创建我的存储库。我这样创建了我的存储库 我使用这个类实现接口并注入entitymanager 问题是我一直有这个错误: PS:我已经启用了注释处理
我正在尝试将composer与我的WampServer一起使用。 我所有文件的路径都是,但当我运行composer时,它会将供应商文件和其他东西安装到其他地方。 我甚至不知道我的项目在哪里,我也不能改变我的项目在哪里的路径。我已经尝试了所有的方法,但它似乎仍然没有在我的项目文件夹中安装供应商文件。
API level 28和Google建议使用registerNetworkCallback(NetworkRequest,PendingIntent)不推荐CONNECTIVITY\u操作。 我尝试使用ConnectionManager注册了registerNetworkCallback。NetworkCallback和它的工作,但我想使用PendingContent。 让我困惑的是公共空寄存器
问题内容: 当我尝试将Webpack与简单的Express服务器一起使用时,总是会收到大量错误消息: express.js 我得到所有这些错误: 这是我的配置文件: 我该怎么办,我还需要在服务器端使用webpack。 我像这样运行express.js文件: 问题答案: 我最终要做的是,我使用了两种不同的配置,一种用于使用webpack将服务器内容打包在一起,另一种用于将所有浏览器内容打包在一起,并
我有两个多对多关系的实体。 在类角色中: java.lang.StackOverflowError:空 我该如何解决这个问题?我在Stackoverflow上看到了类似的问题,但我没有找到真正有效的解决方案。 Upd:抛出异常的位置: