7

我正在安装ts-loader来使用 webpack。

有人知道如何选择要使用的打字稿版本吗?

不管我做什么,我总是收到一条消息说

ts-loader: Using typescript@1.8.10 and /app/tsconfig.json

我打算使用 typescript@2 但我不知道如何告诉 ts-loader 使用正确的版本...

谢谢

4

2 回答 2

1

不幸的是,对于那些使用 react-scripts-ts 或任何其他需要旧版本打字稿的依赖项的人来说,你的答案是不够的。我已经添加到我的包依赖 typescript ^2.6.2,但 ts-loader 仍然显示 typescript 2.5.3,因为“react-scripts-ts”有一个依赖“typescript”:“~2.5.3”,所以不知何故那个依赖优先。

我发现的实际解决方案是创建npm-shrinkwrap.json文件,在其中我将 react-scripts-ts 的子依赖项覆盖为正确的依赖项,如下所示:

{
    "dependencies":
    {
        "react-scripts-ts":
        {
            "dependencies":{
                "typescript": { "version": "2.6.2" }
            }
        }
    }
}

创建此文件后,我删除文件夹node_modules并执行npm install

如果您不确定依赖关系树中的哪个包取决于某个包的特定版本,您可以在package-lock.json文件中找到它

于 2017-12-27T04:19:23.347 回答
0

好的,找到了

事实证明 typescript 是由 npm 作为依赖项安装的。默认情况下它是 1.8

将 typescript@2 添加到 package.json 正确设置 typescript 版本

于 2016-11-25T14:16:58.980 回答