如何为ts-loader指定typescript版本?

时间:2016-11-25 14:12:29

标签: typescript webpack ts-loader

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

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

无论我做什么,我都会收到一条消息说

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

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

由于

2 个答案:

答案 0 :(得分:1)

不幸的是,对于那些使用react-scripts-ts或任何其他需要旧版本打字稿的依赖项的人来说,你的答案是不够的。我已经添加了我的包依赖typescript ^ 2.6.2,但ts-loader仍然显示typescript 2.5.3,因为" react-scripts-ts"有一个依赖"打字稿":" ~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文件中找到它

答案 1 :(得分:0)

好的,找到了

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

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