如何使用 create-react-app 安装 typescript + jest?
How to install typescript + jest with create-react-app?
我想在基于 create-react-app 的应用程序中安装 typescript 和 jest。我觉得既然这是一个如此常见的安装选择,那么必须至少遵循一组“一切正常”的配置步骤。
我最初运行npx create-react-app my-project --template typescript
。那有一段时间很棒。我用它写了几千行代码。然后有一天我决定我想用这样的代码向规范文件添加一些模拟:
import jest from "jest";
jest.mock('./somemodule');
...但是“笑话”实例未定义。所以我按照不同文章中的说明安装更多的 devDependencies。但是这些似乎与 create-react-app 内部的依赖项冲突,这表明我需要专注于根据其期望正确设置我的项目的“Create-react-app 方式”。
与其让 Whosebug 负担我的构建和包管理问题的细节,我想我只想问一个更简单的问题——在它没有一堆烦人的方法,运行dom 问题?
然后在我听从这个建议之后,如果我仍然有问题,我可能会提出第二个单独的 SO 问题并提供具体细节。
下面的命令应该创建一个支持 Typescript 和 Jest 的新 React 项目,无需进一步修改。
npx create-react-app my-app --template typescript
关于上述命令的详细信息可以在这里找到:https://create-react-app.dev/docs/adding-typescript/
以上命令将建立一个新项目。但是,如果您像我一样,现有的 create-react-app
项目存在以下问题:
- Jest 模块未定义或似乎没有预期的功能
- 你的
npm run start
和 npm run build
由于依赖冲突而失败
- 或者您只是想获得“标准”package.json 配置,而无需将源代码复制到新项目中。
...您可以使用以下过程 fix/upgrade 您的 package.json:
- 使用上面相同的
npx create-react-app my-app --template typescript
命令创建一个具有所有正确依赖项的独立工作(“良好”)项目。本项目仅供参考。
- 将 Good 项目的 package.json 与 non-working(“Bad”)项目进行比较,并确保 Bad package.json 具有与好package.json。您可能不必删除不良 package.json 中不在良好 package.json.
中的任何模块
rm -rf node-modules
在糟糕的项目中。
rm package-lock.json
在糟糕的项目中。
npm install
在糟糕的项目中。
Self-answering 为子孙后代。
我想在基于 create-react-app 的应用程序中安装 typescript 和 jest。我觉得既然这是一个如此常见的安装选择,那么必须至少遵循一组“一切正常”的配置步骤。
我最初运行npx create-react-app my-project --template typescript
。那有一段时间很棒。我用它写了几千行代码。然后有一天我决定我想用这样的代码向规范文件添加一些模拟:
import jest from "jest";
jest.mock('./somemodule');
...但是“笑话”实例未定义。所以我按照不同文章中的说明安装更多的 devDependencies。但是这些似乎与 create-react-app 内部的依赖项冲突,这表明我需要专注于根据其期望正确设置我的项目的“Create-react-app 方式”。
与其让 Whosebug 负担我的构建和包管理问题的细节,我想我只想问一个更简单的问题——在它没有一堆烦人的方法,运行dom 问题?
然后在我听从这个建议之后,如果我仍然有问题,我可能会提出第二个单独的 SO 问题并提供具体细节。
下面的命令应该创建一个支持 Typescript 和 Jest 的新 React 项目,无需进一步修改。
npx create-react-app my-app --template typescript
关于上述命令的详细信息可以在这里找到:https://create-react-app.dev/docs/adding-typescript/
以上命令将建立一个新项目。但是,如果您像我一样,现有的 create-react-app
项目存在以下问题:
- Jest 模块未定义或似乎没有预期的功能
- 你的
npm run start
和npm run build
由于依赖冲突而失败 - 或者您只是想获得“标准”package.json 配置,而无需将源代码复制到新项目中。
...您可以使用以下过程 fix/upgrade 您的 package.json:
- 使用上面相同的
npx create-react-app my-app --template typescript
命令创建一个具有所有正确依赖项的独立工作(“良好”)项目。本项目仅供参考。 - 将 Good 项目的 package.json 与 non-working(“Bad”)项目进行比较,并确保 Bad package.json 具有与好package.json。您可能不必删除不良 package.json 中不在良好 package.json. 中的任何模块
rm -rf node-modules
在糟糕的项目中。rm package-lock.json
在糟糕的项目中。npm install
在糟糕的项目中。
Self-answering 为子孙后代。