[#리액트에러 #cannot find 'path'] React, 'path'를 찾을 수 없다는 에러를 만날때,

calm·2022년 3월 3일
3

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.
If you want to include a polyfill, you need to:
- add a fallback 'resolve.fallback: { "path": require.resolve("path-browserify") }'
- install 'path-browserify'
If you don't want to include a polyfill, you can use an empty module like this:
resolve.fallback: { "path": false }
If you want to include a polyfill, you need to:
- add a fallback 'resolve.fallback: { "path": require.resolve("path-browserify") }'
- install 'path-browserify'
If you don't want to include a polyfill, you can use an empty module like this:
resolve.fallback: { "path": false }

mime-types라는 npm을 설치하고 발생한 에러다

해당 npm의 홈페이지를 보면, 사용법이 'import'가 아닌 'require'다.var mime = require('mime-types')

혹시 몰라 react에서 "import"로 해당 모듈을 가져왔는데, 위와 같은 에러를 만나게 됐다.


1. webpack.config.js를 수정하자

2. resolve :{..여기..}, 여기에 입력하자

fallback:{ "path": require.resolve("path-browserify") }

3.'path-browserify' npm 모듈을 설치하자


다음의 방법을 통해 해결했다.

해결 링크 : 여기 에서 확인 가능하다

1. React 프로젝트(create-react-app으로 만든)에서 webpack.config.js를 수정하자

node_modules > react-scripts > config> webpack.config.js

2. resolve :{..여기..}, 여기에 입력하자

fallback:{ "path": require.resolve("path-browserify") }

"," 적는걸 잊지 말자


resolve: {
      // This allows you to set a fallback for where webpack should look for modules.
      // We placed these paths second because we want `node_modules` to "win"
      // if there are any conflicts. This matches Node resolution mechanism.
      // https://github.com/facebook/create-react-app/issues/253
      
      (여기에 적자)
      fallback:{ "path": require.resolve("path-browserify") },
...(중략)... 
 
(여기까지 resolve 부분)
}
      

3. (에러에서 알려주듯) 'path-browserify' npm 모듈을 설치하자

https://www.npmjs.com/package/path-browserify

리액트-타입스크립트 일 경우,
타입정보도 설치/적용해줘야 할꺼 같아 관련 자료를 한번에 볼 수 있도록, 링크를 남긴다.

https://www.google.com/search?q=npm+i+path-browserify&oq=npm+i+path&aqs=chrome.1.69i57j0i30j0i8i30l2.8358j0j15&sourceid=chrome&ie=UTF-8

리액트 일경우

npm i path-browserify

https://www.npmjs.com/package/path-browserify

리액트- 타입스크립트 일 경우,

npm i @types/path-browserify

https://www.npmjs.com/package/@types/path-browserify

profile
공부한 내용을 기록합니다

0개의 댓글