[英]Where to place webpack.config.js in create-react-app project
[英]where is create-react-app webpack config and files?
我使用create-react-app
包創建了一個 ReactJS 項目並且運行良好,但是我找不到 webpack 文件和配置。
react-create-app 如何與 webpack 配合使用? 使用create-react-app
的默認安裝中的 webpack 配置文件在哪里? 我無法在我的項目文件夾中找到配置文件。
我還沒有創建覆蓋配置文件。 我可以使用其他文章管理配置設置,但我想找到傳統的配置文件。
如果您想查找 webpack 文件和配置,請轉到您的 package.json 文件並查找腳本
你會發現腳本對象正在使用一個庫react-scripts
現在轉到 node_modules 並查找 react-scripts 文件夾react-script-in-node-modules
這個react-scripts/scripts和react-scripts/config文件夾包含所有的 webpack 配置。
這些文件位於您的node_modules/react-scripts
文件夾中:
網絡包配置:
啟動腳本:
https://github.com/facebook/create-react-app/blob/master/packages/react-scripts/scripts/start.js
構建腳本:
https://github.com/facebook/create-react-app/blob/master/packages/react-scripts/scripts/build.js
測試腳本:
https://github.com/facebook/create-react-app/blob/master/packages/react-scripts/scripts/test.js
等等...
現在,CRA 的目的不是擔心這些。
從文檔:
您不需要安裝或配置 Webpack 或 Babel 之類的工具。 它們是預先配置和隱藏的,以便您可以專注於代碼。
如果你想訪問配置文件,你需要通過運行來彈出:
npm run eject
注意:這是一種單向操作。 一旦彈出,就無法返回!
在大多數情況下,最好不要彈出並嘗試以另一種方式找到適合您的方法。
如果您需要覆蓋某些配置選項,您可以查看https://github.com/gsoft-inc/craco
很多人來到這個頁面的目的是找到 webpack 配置和文件,以便將他們自己的配置添加到它們中。 另一種無需運行npm run eject
即可實現此目的的方法是使用react-app-rewired 。 這允許您在不彈出的情況下覆蓋您的 webpack 配置文件。
假設您不想彈出並且只想查看配置,您會在/node_modules/react-scripts/config
找到它們
webpack.config.dev.js. //used by `npm start`
webpack.config.prod.js //used by `npm run build`
create-react-app
使用的 Webpack 配置在這里: https : //github.com/facebook/create-react-app/tree/master/packages/react-scripts/config
您可以在/config文件夾中找到它。
當您彈出時,您會收到如下消息:
Adding /config/webpack.config.dev.js to the project
Adding /config/webpack.config.prod.js to the project
Webpack 配置由react-scripts處理。 您可以在 node_modules react-scripts/config 中找到所有 webpack配置。
如果你想自定義 webpack 配置,你可以按照這個custom-webpack-config
嘗試彈出配置文件,運行:
npm run eject
然后你會發現在你的項目中創建了一個 config 文件夾。 你會發現你的 webpack 配置文件 init.d 。
彈出不是最好的選擇,也不是在node_modules
下編輯node_modules
。 react-app-rewired
未維護並有警告:
...您現在“擁有”配置。 將不提供任何支持。 謹慎行事...
解決方案 -使用 craco 。
我知道現在已經很晚了,但是對於未來遇到這個問題的人來說,如果您想訪問 CRA 的 webpack 配置,除了必須運行之外別無他法:
$ npm run eject
但是,通過彈出,您將脫離 CRA 更新管道,因此從彈出的角度來看,您必須自己維護它。
我多次遇到過這個問題,因此我為 React 應用程序創建了一個模板,該模板與 CRA 的配置大部分相同,但還有額外的好處(如樣式組件、jest 單元測試、用於部署的 Travis ci,更漂亮、ESLint 等...)使維護更容易。 查看repo 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.