如何为 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 配置?