我有一个使用 React 和 Webpack 的 TypeScript 项目:
npm install react react-dom @types/react @types/react-dom --save
npm install webpack ts-loader --save-dev
我有一个典型webpack.config.js
的构建项目。一切正常。
然后我转换webpack.config.js
为.js
关注.ts
这篇文章:
npm install ts-node @types/node @types/webpack --save-dev
确实,webpack.config.ts
效果很好。
然而,node/webpack 和 react 之间的 typedef 被视为在同一个空间中(即本地和 web)。例如,在我的webpack.config.ts
I 应该引用@types/node
而不是@types/react
,在我的src/components/app.tsx
文件中我应该引用@types/react
而不是@types/node
,但是在这两个地方编译器和 IDE 都认为我同时使用两者(在运行时它会爆炸)。如何分离这些类型定义,以便正确的文件对正确的文件可见?
从概念上讲,我想我只想@types
fromdevDependencies
只对开发脚本可见,比如webpack.config.ts
,并且文件src
只能@types
从dependencies
. 这样的设置可以吗?