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

Posted

技术标签:

【中文标题】如何为 ts-loader 指定 typescript 版本?【英文标题】:how to specify typescript version to ts-loader? 【发布时间】:2017-04-09 23:13:48 【问题描述】:

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

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

无论我做什么,我总是收到一条消息说

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

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

谢谢

【问题讨论】:

将 typescript@2 添加到您的 devDependencies。 ts-loader 应该在没有任何配置的情况下使用。如果你不这样做,它将使用全局安装的打字稿。 【参考方案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文件中找到它

【讨论】:

【参考方案2】:

好的,找到了

原来 typescript 是由 npm 作为依赖安装的。默认情况下它是 1.8

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

【讨论】:

对我不起作用,我在 package.json 中指定了 2.6.2,但 ts-loader 仍然显示 2.5.2 :-(

以上是关于如何为 ts-loader 指定 typescript 版本?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 Jcrop 'setSelect' 选项指定自定义值?

如何为 spectrify python 包指定 s3 配置?

如何为 MSBuild 指定平台?

如何为 EmrCreateJobFlowOperator 指定配置文件?

如何为 XDocument 指定 xmlns?

如何为变更日志表指定架构位置