我正在尝试在新项目上运行npm run eject
,以便可以配置Webpack文件,但是却收到此消息:
✗ npm run eject
> location@0.1.0 eject /Users/danale/Projects/location
> react-scripts eject
NOTE: Create React App 2 supports TypeScript, Sass, CSS Modules and more without ejecting: https://reactjs.org/blog/2018/10/01/create-react-app-v2.html
? Are you sure you want to eject? This action is permanent. Yes
This git repository has untracked files or uncommitted changes:
为什么引用所有项目文件夹?为了清楚起见,我正在使用CRA创建的一个项目文件夹中运行上述命令。
我不在所有项目的文件夹中,而是在一个新创建的项目的文件夹中。这么说,为什么npm会引用我所有其他项目?
答案 0 :(得分:0)
在我从错误消息中建议的文档中阅读内容和进行修补之间,您要做的就是:
npm install node-sass
,然后可以开始将css
文件更改为scss
,并为您的项目创建其他scss
文件。无需npm run eject
。
答案 1 :(得分:0)
在弹出使用react
创建的create-react-app
项目之前,它们会为您提供以下Cookie切割程序响应:
NOTE: Create React App 2 supports TypeScript, Sass, CSS Modules and more without ejecting: https://reactjs.org/blog/2018/10/01/create-react-app-v2.html
? Are you sure you want to eject? This action is permanent. Yes
This git repository has untracked files or uncommitted changes:
这样做的原因是很多人希望对其webpack.config.js
文件具有细粒度的控制,并且您必须退出才能访问该文件在您的react-scripts
模块中。现在弹出警告消息的部分说:
NOTE: Create React App 2 supports TypeScript, Sass, CSS Modules and more without ejecting: https://reactjs.org/blog/2018/10/01/create-react-app-v2.html
是要通知您,不必退出就可以利用预处理器,TypeScript
等。...这是因为create-react-app
并非总是支持轻松添加此功能,因此人们会跳出来使用预处理器和TypeScript
。
您正确的说,要使用SASS
,您要做的就是:
node-sass
模块:npm install node-sass
.scss
文件并将所需的.scss
文件导入您希望使用样式的组件中即可。另外,您也可以只拥有一个“主” .scss
文件,其唯一的工作就是导入与您的应用相关的其他.scss
文件。然后,将这个“主” .scss
文件导入您的App.js
文件中。现在,弹出警告消息的这一部分:
This git repository has untracked files or uncommitted changes:
您可能会得到这个,因为您已经为运行create-react-app
CLI的父文件夹设置了一个git存储库。基本上,在create-react-app
界面所在的父文件夹之一中,有一个.git/config
指向上游一个远程存储库。
希望有帮助!