【问题标题】:visual code set typescript version locally本地可视代码集打字稿版本
【发布时间】:2017-12-10 17:54:27
【问题描述】:

我有一个 angular 4 (cli)/nodejs 应用程序,我同时使用了 typescript 两个。它们在同一个文件夹中,如下所示:

  • 应用程序

    --公开

    -- 服务器

在可视化代码中,我通常打开根文件夹(应用程序)以轻松编辑任何文件夹(公共、服务器)中的文件。

我需要的是,如何配置可视化代码以在公共和服务器文件夹中使用不同的打字稿版本?

在公共场合我需要 typescript 2.3.4,在服务器上我需要 2.4+。有解决办法吗?

【问题讨论】:

    标签: node.js angular visual-studio-code


    【解决方案1】:

    一般来说,客户端和服务端应该是不同的项目。它们可以位于同一个目录(在您的情况下是应用程序),但每个项目(公共和服务器)都应该有自己的 package.json,在这里您可以在 devDependencies 部分中指定特定版本的 tsc。

    VS Code 有一个集成终端(参见菜单视图)。因此,您可以在 IDE 中打开两个终端 - 一个在公共目录中,另一个在服务器中。然后,如果您的 package.json 文件有一个脚本命令定义为

    "tsc": "tsc"
    

    您可以像这样在每个终端窗口中运行 tsc:

    npm run tsc
    

    它将使用位于当前目录的 package.json 中定义的本地 tsc 版本。

    【讨论】:

    • 抱歉,tsc 工作正常,但是 vsc IDE 在服务器文件中显示错误,因为 vsc 使用 2.3.4 版本的 typescript,但在服务器中使用的是 2.4+。
    • 错误是由 tsservice 报告的,而不是由 tsc 编译器报告的。在您的情况下,我会更改 VS Code 设置以在“typescript.tsdk”属性中使用较新版本的 tsserver.js。见这里:code.visualstudio.com/docs/languages/typescript
    • 是的,我已经找到了这个解决方案,但是在这种情况下,我必须根据我需要的版本来编辑设置文件。我很伤心,我会加载两个文件夹(公共和服务器),并且没有设置哪个版本,我会在控制台上收到错误消息。
    • 如果您使用 2.4 作为 tsservice 的默认版本,则无需更改设置,因为使用 2.3 的项目不会报错。
    • rxjs 5 在 alpha 中与 ts 2.4+ 和 rxjs 6 的关系不好。在公共项目中,我需要它(rxjs 5)用于角度。
    猜你喜欢
    • 2019-03-03
    • 2018-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-13
    • 1970-01-01
    • 2020-10-29
    • 1970-01-01
    相关资源
    最近更新 更多