【问题标题】:Update Typescript in Angular2 project在 Angular2 项目中更新 Typescript
【发布时间】:2020-09-17 18:30:14
【问题描述】:

我在 Visual Studio 中有一个使用 Typescript 的 Angular2 项目。我想将 Typescript 从 1.8 更新到 2.0.x。在我的系统中,我更新了打字稿和tsc -v 日志Version 2.0.10 package.json 等包含

"devDependencies": {
    ....
    "typescript": "^1.8.10",
    "typings": "^1.3.1",
    ...
}

为了更新打字稿,将package.json中的版本更改为"typescript": "^2.0.10"就足够了吗?还有,打字稿和打字稿的版本是什么关系,更新的时候?

【问题讨论】:

    标签: visual-studio angular typescript-typings typescript2.0


    【解决方案1】:

    精确版

    • npm install typescript@2.0.10 --save-dev

    最新版本

    • npm install typescript@latest --save-dev

    【讨论】:

    • 我使用了第一个命令,我得到了这个错误。 Angular 编译器中的错误需要 TypeScript >=2.7.2 和
    • 尝试使用所需的特定版本。
    • 我只需要一个模块中的 typescript 3 版本。正如您在错误中看到的那样,我也无法运行 ng-serve 命令。
    • 你不能在一个项目中使用不同的版本(说不同的模块不同)
    • 是的,我知道,那么你有什么办法可以解决这个问题吗?
    【解决方案2】:

    更新 package.json 中的 typescript 版本并运行 npm install 就足以升级您用于项目的版本。

    Typescript 2.x 引入了一种管理类型的新方法,使用 @types/... 限定符 npm 包 - 但是您仍然可以使用以前使用过的类型 - 但您可能希望将其更新为在撰写此答案时来自 npm 的最新版本是 2.0.0

    如果您有兴趣,这里有更多信息和关于新@types 的讨论https://blogs.msdn.microsoft.com/typescript/2016/06/15/the-future-of-declaration-files/

    【讨论】:

    • 假设我有 10 个库在我的项目中使用,我使用“npm install --save @types/eachLibrary”为每个库安装类型,并且有一天会安装一个新的 Typescript 版本弹出,那么我是否需要为我的每个库再次运行安装命令来更新它们的类型?
    • 不,@types 包是独立于 typescript 管理的。所以你可以只安装新版本的 typescript 而不必担心@types。一个方便的 npm 包,如果你还不知道的话,你可能会感兴趣 npm-check-updates:npmjs.com/package/npm-check-updates - 你可以在你的项目位置的终端中运行ncu,它会告诉你是否有您的依赖项有可用更新
    • 太好了,谢谢!还有一个问题,我是否需要重新安装已经使用“旧方式”安装但这次使用@types 的库?
    • 不,您应该很好地使用您拥有的版本 - 并非所有库都会有一个 @types/.. 包,并且两者在安装方面是分开的
    猜你喜欢
    • 1970-01-01
    • 2018-05-12
    • 2017-01-23
    • 2017-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-15
    相关资源
    最近更新 更多