React craco 详细使用与介绍(类似 Vue 外抛的 vue.config.js)

简介: React craco 详细使用与介绍(类似 Vue 外抛的 vue.config.js)
+关注继续查看

一、简介



  • craco 是一个用于扩展 Create React App(CRA)的工具,CRA 是一个用于快速搭建 React 应用的脚手架工具。CRA 提供了一个简单的项目结构和配置,使得开发者可以快速开始一个 React 项目的开发。


然而 CRA 的配置是被隐藏的,开发者无法对其进行自定义和扩展。这就是 craco 出现的原因。craco(Create React App Configuration Override) 允许开发者覆盖和扩展 CRA 的配置,以满足更复杂的项目需求。


使用 craco,开发者可以在不弹出 CRA 的配置的情况下,修改 webpack 配置、babel 配置、ESLint 配置、devServer配置 等。craco 提供了一种简单的方式来覆盖 CRA 的默认配置,同时保留了 CRA 的简洁性和易用性。


通过 craco,开发者可以使用自定义的 webpack 插件、babel 插件 和 其他工具,以满足项目的特定需求。例如:可以添加自定义的 webpack loader,配置自定义的 babel preset 或 plugin,或者修改 webpack 的输出路径等。


二、使用


  • 安装
$ npm i -D @craco/craco
  • 根目录创建 craco.config.js 配置文件,可以理解为 Vue 项目中外抛的 vue.config.js。


    my-app  
    ├── node_modules  
  + ├── craco.config.js  
    └── package.json

配置文件名其他写法支持,如果找到多个配置文件,craco 将使用上面列表中最高的一个:

1、craco.config.ts
2、craco.config.js
3、craco.config.cjs
4、.cracorc.ts
5、.cracorc.js
6、.cracorc
  • 如果多个配置文件,也可以通过 package.json 添加字段指定配置文件:


...
{  
    "cracoConfig": "config/craco-config-with-custom-name.js"  
}
...

或 scripts 指令中指定配置文件进行编译:


{  
    "scripts": {  
        "start": "craco start --config config/craco-config-with-custom-name.js"  
    }  
}
  • 修改 package.json 文件中 scripts 配置的 react-scripts 替换为 craco,例如:


"scripts": {
-   // "start": "react-scripts start",
-   // "build": "react-scripts build",
-   // "test": "react-scripts test",
+   "start": "craco start",
+   "build": "craco build",
+   "test": "craco test",
    "eject": "react-scripts eject"
}
  1. 在 craco.config.js 文件中,可以根据需要修改和扩展 CRA 的配置。以下是一个示例配置文件的基本结构:


基本可以覆盖正常业务的所有需求配置,更多配置可以查看下 官方文档:


const path = require('path')
const lessPlugin = require('craco-less')
module.exports = {
  // 插件配置
  plugins: [
    {
      plugin: lessPlugin,
      options: {
        lessLoaderOptions: {
          lessOptions: {
            // modifyVars: { '@primary-color': '#1DA57A' },
            javascriptEnabled: true
          }
        }
      }

相关文章
|
12小时前
|
存储 JavaScript 前端开发
Vue和React的区别
React则使用纯JavaScript来构建UI组件。React使用了虚拟DOM来高效地更新视图层,以及单向数据流的哲学来处理数据和视图之间的关系。React的设计方式可以让开发者更加理解和控制应用程序的状态,同时也可以让开发者更加容易地编写可测试的代码。
7 0
|
13小时前
|
JavaScript 前端开发 API
js到vue到react的发展
JavaScript是一种基于对象和事件驱动的编程语言,在Web开发中占据着重要的地位。随着前端技术的不断发展,出现了一系列的框架和库,Vue和React是其中较为知名的两个。 Vue是一个轻量级的JavaScript框架,由尤雨溪于2014年首次推出。Vue基于MVVM模式,具有简单易学、高效灵活、渐进式开发等特点。Vue的核心库只关注视图层,与其它库或者已有项目进行整合是非常容易的。Vue的生态圈非常活跃,有大量的插件和工具可供选择。 React是由Facebook推出的开源JavaScript框架,也是目前最流行的前端框架之一。
6 0
|
15小时前
|
JavaScript 前端开发 小程序
Vue、React和小程序中的组件通信:父传子和子传父的应用
组件化开发是将一个大型应用程序拆分成独立的、可重用的、可组合的模块,使得开发人员可以快速构建和开发应用程序。组件化开发提倡将应用程序的各个功能模块分离开发,每个模块完成自己的功能并且可以在不同的应用程序中被复用。这可以提高代码的可维护性、可测试性和可重用性,同时也可以使得开发和协作更加高效。其中父传子和子传父是常见的通信方式
5 0
|
7天前
|
弹性计算 前端开发 JavaScript
前端新趋势?有了Web Component,还用纠结Vue或React?
Web Component 的概念最早在 2011 年被 Google 提出,并在 2018 年 V1 版本开始被主流浏览器所支持(除了 IE)。
|
26天前
|
移动开发 开发框架 JavaScript
谈谈对Angular,Vue,React 的认识
谈谈对Angular,Vue,React 的认识
15 0
|
28天前
|
JavaScript 前端开发
vue和react的区别
vue和react的区别
21 0
|
28天前
|
移动开发 JavaScript 前端开发
vue与react,angular的区别
vue与react,angular的区别
38 1
|
28天前
|
前端开发 JavaScript 小程序
Vue、React和小程序中的组件通信:父传子和子传父
Vue、React和小程序中的组件通信:父传子和子传父
19 0
|
28天前
|
JavaScript 前端开发 算法
react框架与vue框架的区别
react框架与vue框架的区别
11 1
|
28天前
|
开发框架 JavaScript 前端开发
从javascript到vue再到react:前端开发框架的演变
从javascript到vue再到react:前端开发框架的演变
26 0
相关产品
云迁移中心
推荐文章
更多