create-react-app Webpack配置和文件在哪里?


172

我使用该create-react-app软件包创建了一个ReactJS项目,该项目运行良好,但找不到Webpack文件和配置。

react-create-app如何与webpack一起使用?默认情况下,使用以下命令安装的webpack配置文件在哪里create-react-app?我在项目的文件夹中找不到配置文件。

我尚未创建替代配置文件。我可以与其他文章一起管理配置设置,但是我想找到常规的配置文件。

Answers:


96

如果要查找webpack文件和配置,请转到package.json文件并查找脚本

img

您会发现脚本对象正在使用库react-scripts

现在转到node_modules并查找react-scripts文件夹react-script-in-node-modules

这个react-scripts / scriptsreact-scripts / config文件夹包含所有webpack配置。


1
我看到了,但我还没有反应脚本的目录
Mohammad

4
我刚刚使用create-react-app创建了一个应用程序,在我的情况下,node_modules中有一个文件夹react-scripts。你可以分享你的package.json
Vikram Thakur '18

5
这个答案不再正确,NPM现在变平,这意味着所有模块都在根node_modules目录下
vsync


最常见的用例是自定义项目的webpack配置。但是,如果在node_modules中,它将在每次npm安装中被覆盖,不是吗?
Blanc

59

文档中

您不需要安装或配置W​​ebpack或Babel之类的工具。它们是预先配置和隐藏的,因此您可以专注于代码。

如果要访问配置文件,则需要通过运行以下命令退出

npm run eject

注意:这是单向操作。一旦弹出,就无法返回!

在大多数情况下,最好不要弹出并尝试找到一种使它以其他方式为您工作的方法。这样,您可以通过更新您的依赖关系,create-react-app而不必处理Webpack依赖关系。


6
我知道这些是隐藏的,但我想知道这些在哪里以及react-create-app如何处理此功能?
Mohammad

然后,您可能必须查看源代码。我不确定
klugjo

2
@Mohammad签出“ react-scripts”的源代码,您可以在其中找到所有配置
Jose Munoz

1
没有回答问题,但无论如何都对我有所帮助
鸡汤

32

许多人来到此页面的目的是查找webpack配置和文件,以便向其添加自己的配置。另一种无需运行即可实现此目的的方法npm run eject是使用react-app-rewired。这使您可以覆盖webpack配置文件而不会弹出。


6
还是首选的解决方案?在重新布线的项目上会出现以下警告:github.com/timarney/react-app-rewired#rewire-your-app- :“从Create React App 2.0开始,此仓库主要由社区“轻度”维护。 ..注意:我个人使用了next.js或Razzle,它们都支持开箱即用的自定义Webpack。”
安东尼·孔

24

假设您不想弹出,只想查看配置,就会在其中找到它们 /node_modules/react-scripts/config

webpack.config.dev.js. //used by `npm start`
webpack.config.prod.js //used by `npm run build`


10

您可以在/ config文件夹中找到它。

弹出时,您会收到类似以下的消息:

 Adding /config/webpack.config.dev.js to the project
 Adding /config/webpack.config.prod.js to the project


3

尝试通过运行以下命令弹出配置文件:

npm run eject

然后您将在项目中找到一个配置文件夹。您将找到您的webpack配置文件init。


0

我知道这已经很晚了,但是对于以后的人们来说,如果您想访问CRA的webpack配置,那么除了需要运行之外,别无他法:

$ npm run eject

但是,通过弹出,您将使自己脱离CRA更新管道,因此,从弹出的角度出发,您必须自己进行维护。

我已经多次遇到这个问题,因此,我为React应用程序创建了一个模板,该应用程序具有与CRA大部分相同的配置,但也有其他好处(例如样式组件,笑话单元测试,用于部署的Travis ci,更漂亮) ,ESLint等)来简化维护。查看回购

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.