haz*_*nli 5 node.js npm reactjs
我有一个 git 存储库,其中有 2 个项目,一个环回应用程序(命名为应用程序)和一个使用 create-react-app 创建的反应应用程序(命名为客户端)。目录结构如下;
???app
? ???node_modules
? ???client
??node_modules
Run Code Online (Sandbox Code Playgroud)
环回项目(应用程序)使用 eslint,在 devDependencies 中有 eslint,客户端在 package.json 中没有 eslint。
客户端应用程序是用 create-react-app 创建的,所以当我运行 react-scripts 时,它在上层目录中找到 eslint,并抱怨它的版本,如果我删除 app\node_modules 一切正常。
那么react-scripts如何在上层目录中找到eslint,有没有办法告诉它不要检查任何其他node_modules文件夹,它应该只检查当前文件夹。
react-scripts 告诉我我可以将 SKIP_PREFLIGHT_CHECK=true 放在我的 .env 文件中,这样做是否安全,它是否在上层文件夹上运行 eslint 3.x,或者它是否运行安装所需的 5.6.0 版本在 client\node_modules 文件夹中?
我将为这个项目设置一个部署工具链,所以我需要确保它一直工作正常。 编辑: 我的 client\package.json 中的配置条目
"eslintConfig": {
"extends": "react-app",
"root": true
},
Run Code Online (Sandbox Code Playgroud)
EDIT2: 重现问题的步骤:我的节点版本是:8.11.3
npx loopback-cli app (accept default options when prompted)
cd app
npm i
npx create-react-app client
cd client
npm i
npm run start (you should see the errors after this)
Run Code Online (Sandbox Code Playgroud)
EDIT3: 我最终弹出了反应脚本。
尝试在您的文件夹中创建一个.eslintrc文件client,包含以下内容:
{\n "extends": "react-app"\n}\nRun Code Online (Sandbox Code Playgroud)\n或者,这应该根据文档工作:
\n{\n "root": true\n}\nRun Code Online (Sandbox Code Playgroud)\n\n\n默认情况下,ESLint 将在所有父文件夹中查找配置文件,直至根目录。如果您希望所有项目都遵循某种约定,这可能很有用,但有时可能会导致意外结果。要将 ESLint 限制为特定项目,请将 "root": true 放置在 package.json 文件的 eslintConfig 字段中或项目\xe2\x80\x99s 根级别的 .eslintrc.* 文件中。一旦 ESLint 找到带有 "root": true 的配置,它就会停止在父文件夹中查找。
\n
| 归档时间: |
|
| 查看次数: |
998 次 |
| 最近记录: |