react 小白编程

由于使用 create-react-app 脚手架构建项目的时候,会给几个命令用

其中一个命令吸引了我的注意力  yarn eject,因为构建完成后特别提示说“你不会想要用到这个命令的”

诶,我就好奇了,不行我得用用,用了之后,真的是欲哭无泪啊

心中惊起一片.......我去年买了个登山包...... 真的是,好奇心害死猫,幸亏我是实验性质的项目,并不是真实开发,要是项目实战,我...我不活了

废话不多说,查找原因:

通过 package.json 文件找到 npm eject 对应的命令是 react-scripts eject

于是开始搜索,这个 react-scripts eject 是干啥的,百度搜索,呵呵哒,没什么有用的信息,只是看到有人说 npm run eject 会复制所有依赖文件和相应的依赖(webpack、babel等)到你的项目。是个单项操作,一旦 eject ,就回不去了......

但是这些并不能解决我的疑惑啊!

还是用 google 吧,成功率高些......

果真找到个大佬解释的很好:如何扩展 create-react-app 的 webpack 配置传送门

看了文章才知道,react-scripts 是 create-react-app 的一个核心包,一些脚本和工具的默认配置都集成在里面,而 yarn eject 命令执行后会将封装在 create-react-app 中的配置全部反编译到当前项目,这样用户就能完全取得 webpack 文件的控制权。所以,eject 命令存在的意义就是更改 webpack 配置存在的啊!

如果想要回到正常的项目中去,只有重新 npm install create-react-app -g 了,没有别的办法

果真,如官方所说,慎用之...如果想尝试的,祝君好运

误用了 react-scripts eject 命令的更多相关文章

  1. react 记录:运行npm run eject命令暴露配置文件都报这个错误

    问题: react 使用create-react-app命令创建一个项目,运行npm run eject命令暴露配置文件都报这个错误 原因:主要是脚手架添加 .gitgnore文件,但是却没有本地仓库 ...

  2. react创建项目后运行npm run eject命令将配置文件暴露出来时报错解决方法

    最近在用create-react-app创建项目,因要配置各种组件,比如babel,antd等, 需要运行npm run eject命令把项目的配置文件暴露出来,但是还是一如既然碰到报错,因为是在本地 ...

  3. 用 nodejs 写一个命令行工具 :创建 react 组件的命令行工具

    用 nodejs 写一个命令行工具 :创建 react 组件的命令行工具 前言 上周,同事抱怨说 react 怎么不能像 angular 那样,使用命令行工具来生成一个组件.对呀,平时工作时,想要创建 ...

  4. Linux eject 命令

    eject命令允许在软件控制下弹出可移动媒体(通常是CD-ROM .软盘 .USB等) [root@localhost ~]# eject cdrom //弹出名字为cdrom的设备或者挂载点 [ro ...

  5. eject命令详解

    基础命令学习目录首页 原文链接:http://www.kgc.cn/bbs/post/128680.shtml Linux eject命令用于退出抽取式设备. 若设备已挂入,则eject会先将该设备卸 ...

  6. create-react-app创建项目后运行npm run eject命令报错解决办法

    最近在用create-react-app创建项目,因要配置各种组件,比如babel,antd等, 需要运行npm run eject命令把项目的配置文件暴露出来,但是还是一如既然碰到报错,因为是在本地 ...

  7. [RN] React Native 常用命令行

    [RN] React Native 常用命令行 1.查看当前版本 react-native --version 或 react-native -v 2.创建指定版本的React Native项目 1) ...

  8. react+ant design 项目执行yarn run eject 命令后无法启动项目

    如何将内建配置全部暴露? 使用create-react-app结合antd搭建的项目中,项目目录没有该项目所有的内建配置, 1.执行yarn run eject 执行该命令后,运行项目yarn sta ...

  9. React常用的命令解析

    1.在目录终端下输入命令: browserify index.js -o bundle.js 该命令将require的所有文件统一打包在一个bundle.js文件中. 2.解释React文件 $ js ...

随机推荐

  1. hdu 1087 最大上升子序列的和(dp或线段树)

    Super Jumping! Jumping! Jumping! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 ...

  2. POJ3671 Dining Cows

    Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8126   Accepted: 3441 Description The c ...

  3. net4:MultiView(view)行为中的commmandname与commmandargument,ListBox的使用及移动操作

    原文发布时间为:2008-07-29 -- 来源于本人的百度文章 [由搬家工具导入] using System;using System.Data;using System.Configuration ...

  4. Linux内存管理【转】

    转自:http://www.cnblogs.com/wuchanming/p/4360264.html 转载:http://www.kerneltravel.net/journal/v/mem.htm ...

  5. consul UI用127可以访问,指定ip无法访问

    ./consul agent -dev    只能127.0.0.1可以访问 ./consul agent -dev  -client 0.0.0.0 -ui  指定ip可以访问

  6. 推荐!手把手教你使用Git(转)

    原文出处: 涂根华的博客   欢迎分享原创到伯乐头条 一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放 ...

  7. vue v-on:click传递动态参数

    最近项目中要为一个循环列表动态传送当前点击列的数据,查了很久资料也没有一个完美的解决方案, 新手只能用vue的事件处理器与jquery的选择器做了一个不伦不类的方案,居然也能解决这个问题,作此记录留待 ...

  8. OS | Socket

    TCP 创建socket: int socket(int domain, int type, int protocol); AF = Address FamilyPF = Protocol Famil ...

  9. va_list 简介

    原文:http://blog.sina.com.cn/s/blog_590be5290100qhxr.html va_list是一个宏,由va_start和va_end界定. typedef char ...

  10. layDate 日期与时间组件 入门

    首先第一步 在官方下载layDate文件.layUI官网:http://layer.layui.com/    https://www.layui.com/laydate/ layDate文件的下载步 ...