为什么弹出create-react-app应用程序是单向操作?

时间:2017-09-06 18:24:07

标签: npm create-react-app

  

注意:这是单向操作。一旦弹出,你就无法回去! ......此时你就是自己。

声明CRA文档。但是,我不明白为什么会这样。如果我使用的是VCS,是什么阻止我回滚运行npm run eject所做的更改?这意味着项目之外会有一些影响它的东西,这违反了我脑子里对现代网络开发原则的一些模糊概念。

2 个答案:

答案 0 :(得分:2)

如果您还原VCS中的更改,您可以还原 eject

eject只会将配置文件复制到您的工作目录中,以便您按照自己的方式对其进行编辑。

请记住,一旦弹出,node_modules中的结构可能会发生变化,因为脚本将沿不同的路径查找。同样,node_modules在版本管理系统中通常未被跟踪。因此,在还原eject之后,可能必须使用npm installyarn

安装依赖项

如果这不起作用,请尝试删除node_modules目录,然后再次运行npm installyarn

基本上,版本管理系统中跟踪的所有内容都可以还原。

答案 1 :(得分:1)

在这种情况下,我认为图片开始解释它。它似乎可以编译您的应用程序和package.json。尽管我的node_modules文件夹似乎变大了,但是如果我删除它并键入yarn,它会回来,但是这次只有29 MB,而不是之前的175 MB,可以在屏幕截图中看到。

➜  aminosee copy git:(master) ✗ yarn
yarn install v1.13.0
[1/4] ?  Resolving packages...
[2/4] ?  Fetching packages...
[3/4] ?  Linking dependencies...
warning " > @typescript-eslint/eslint-plugin@1.6.0" has unmet peer dependency "typescript@*".
warning " > @typescript-eslint/parser@1.6.0" has unmet peer dependency "typescript@*".
warning "@typescript-eslint/eslint-plugin > @typescript-eslint/typescript-estree@1.6.0" has unmet peer dependency "typescript@*".
warning "@typescript-eslint/eslint-plugin > tsutils@3.10.0" has unmet peer dependency "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev".
[4/4] ?  Building fresh packages...
✨  Done in 68.43s.

enter image description here

enter image description here