반응형

.tt_article_useless_p_margin > p > span

ERROR in multi eventsource-polyfill webpack-hot-middleware/client?reload=true&timeout=30000&ansiColors=&overlayStyles=&path=%2F__webpack_hmr%2Fclient&name=client ./.nuxt/client.js
Module not found: Error: Can't resolve 'eslint-loader' in '/Users/xxxxxx/Documents/GitHub/xxxxxxxx/frontend'

패키지 버전을 최신화 하다가 해당 모듈에서 충돌이 생겼다.

 

 

package.json 

...
"devDependencies": { 
   ...
   
  "@nuxtjs/eslint-module": "^1.0.0",

   ...
}
...

 

nuxt.config.js

build: { 
	/* ** You can extend webpack config here */ 
    extend(config, { isDev, isClient }) { 
    	if (isDev && isClient) {
			config.module.rules.push({ 
            	test: /\.(js|vue)$/, 
                loader: 'eslint-loader', 
                exclude: /(node_modules)/, 
                options: { fix: true } 
            }) 
        } 
     }, 
 }

 

 

패키지를 설치해보자

npm install 
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR! 
npm ERR! Found: @nuxtjs/eslint-module@3.0.2
npm ERR! node_modules/@nuxtjs/eslint-module
npm ERR!   dev @nuxtjs/eslint-module@"^1.0.0" from the root project
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! dev @nuxtjs/eslint-module@"^1.0.0" from the root project
npm ERR! 
npm ERR! Conflicting peer dependency: eslint@6.8.0
npm ERR! node_modules/eslint
npm ERR!   peer eslint@"^5.0.0 || ^6.0.0" from @nuxtjs/eslint-module@1.2.0
npm ERR!   node_modules/@nuxtjs/eslint-module
npm ERR! 
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR! 
npm ERR! See /Users/xxxxx/.npm/eresolve-report.txt for a full report.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/lhs/.npm/_logs/2021-01-13T01_00_35_327Z-debug.log

 

애러 내용을 보면 Found: @nuxtjs/eslint-module@3.0.2 이 내용을 볼 수 있다. 

해당 패키지의 버전을 3.0.2로 수정한다.

 

이제 nuxt 파일을 run 해보자.

npm run dev

 

빌드가 완료되고 페이지를 접속해보면 아래와 같은 에러 내용을 확인 할 수 있다.

ERROR in multi eventsource-polyfill webpack-hot-middleware/client?reload=true&timeout=30000&ansiColors=&overlayStyles=&path=%2F__webpack_hmr%2Fclient&name=client ./.nuxt/client.js
Module not found: Error: Can't resolve 'eslint-loader' in '/Users/lhs/Documents/GitHub/xxxxxxxxxx/frontend'

 

Module not found: Error: Can't resolve 'eslint-loader' in '/Users/xxxxx/Documents/GitHub/xxxxxxxx/frontend'

eslint-loader 모듈을 찾을 수 없다는 내용이다. 

 

pacakage-lock.json 파일을 1.0.0v / 3.0.2v 버전과 비교해보면

eslint-loader 내용이 빠져있는것을 확인할 수 있다.

해당 사이트를 확인해보니 eslint-loader가 depreected되었다는 내용을 찾아 볼 수 있었다.

 

그리하여 대체할 패키지로 설치를 진행하였다.

 

package.json 

...
"devDependencies": { 
   ...
   
  "@nuxtjs/eslint-module": "^1.0.0",
  "eslint-webpack-plugin": "^2.4.1",

   ...
}
...

nuxt.config,js

build: {
    /*
     ** You can extend webpack config here
     */
    extend(config, {
      isDev,
      isClient
    }) {
      if (isDev && isClient) {
        const options = {
          exclude: ['node_modules'],
          extensions: ['js','vue'],
          fix: true
        }
        const EslintPlugin = require('eslint-webpack-plugin')
        config.plugins.push(new EslintPlugin(options))
      }
    },
  },

 

실행을 해보자

npm install 
npm run dev

 

 

 

port를 3333으로 세팅해두어 

localhost:3333으로 접속하여 정상 페이지가 뜨는걸 확인하였다. 

 

 

 

핵심내용은 eslint-loader가 deprecated가 되어 제외되면서 생긴 문제이다.

대체할 플러그인(eslint-webpack-plugin)을 설치하면서 해결하였다. 

 

 

 

 


참고 

1. www.npmjs.com/package/eslint-webpack-plugin 

 

eslint-webpack-plugin

A ESLint plugin for webpack

www.npmjs.com

2. github.com/webpack-contrib/eslint-loader

 

webpack-contrib/eslint-loader

[DEPRECATED] A ESlint loader for webpack. Contribute to webpack-contrib/eslint-loader development by creating an account on GitHub.

github.com

 

+ Recent posts