🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

npm run build 에러

21.08.25 01:22 작성 조회수 697

0

제로초님, 안녕하세요!

npm run build 하고 index.html 라이브 서버 켜봤는데 화면에 아무것도 나오지 않습니다..! 

dist 폴더와 App.js 파일은 잘 생겼구요 아래는 에러 내용입니다. 제로초님의 소스코드를 살펴보니 package.json에 emotion/babel-plugin은 설치되어 있지 않았는데ㅜㅜ 그걸 설치하면 해결되는걸까요? 

$ npm run build

> client@1.0.0 build C:\Users\user\Desktop\coding\sleact\client     
> cross-env TS_NODE_PROJECT="tsconfig-for-webpack-config.json" webpack  

asset app.js 4.28 KiB [emitted] (name: app)
./client.tsx 39 bytes [built] [code 
generated] [1 error]

ERROR in ./client.tsx
Module build failed (from ./node_modules/babel-loader/lib/index.js):    
Error: Cannot find module '@emotion/babel-plugin'
Require stack:
- C:\Users\user\Desktop\coding\sleact\client\node_modules\@babel\core\lib\config\files\plugins.js       
- C:\Users\user\Desktop\coding\sleact\client\node_modules\@babel\core\lib\config\files\index.js
- C:\Users\user\Desktop\coding\sleact\client\node_modules\@babel\core\lib\index.js
- C:\Users\user\Desktop\coding\sleact\client\node_modules\babel-loader\lib\index.js
- C:\Users\user\Desktop\coding\sleact\client\node_modules\loader-runner\lib\loadLoader.js
- C:\Users\user\Desktop\coding\sleact\client\node_modules\loader-runner\lib\LoaderRunner.js
- C:\Users\user\Desktop\coding\sleact\client\node_modules\webpack\lib\NormalModuleFactory.js
- C:\Users\user\Desktop\coding\sleact\client\node_modules\webpack\lib\Compiler.js
- C:\Users\user\Desktop\coding\sleact\client\node_modules\webpack\lib\webpack.js
- C:\Users\user\Desktop\coding\sleact\client\node_modules\webpack\lib\index.js
- C:\Users\user\Desktop\coding\sleact\client\node_modules\webpack-cli\lib\webpack-cli.js
- C:\Users\user\Desktop\coding\sleact\client\node_modules\webpack-cli\lib\bootstrap.js
- C:\Users\user\Desktop\coding\sleact\client\node_modules\webpack-cli\bin\cli.js
- C:\Users\user\Desktop\coding\sleact\client\node_modules\webpack\bin\webpack.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:965:15)
    at resolve (C:\Users\user\Desktop\coding\sleact\client\node_modules\v8-compile-cache\v8-compile-cache.js:164:23)
    at resolveStandardizedName (C:\Users\user\Desktop\coding\sleact\client\node_modules\@babel\core\lib\config\files\plugins.js:111:7)      
    at resolvePlugin (C:\Users\user\Desktop\coding\sleact\client\node_modules\@babel\core\lib\config\files\plugins.js:55:10)
    at loadPlugin (C:\Users\user\Desktop\coding\sleact\client\node_modules\@babel\core\lib\config\files\plugins.js:63:20)
    at loadPlugin.next (<anonymous>)    at createDescriptor (C:\Users\user\Desktop\coding\sleact\client\node_modules\@babel\core\lib\config\config-descriptors.js:187:16)       
    at createDescriptor.next (<anonymous>)
    at step (C:\Users\user\Desktop\coding\sleact\client\node_modules\gensync\index.js:261:32)
    at evaluateAsync (C:\Users\user\Desktop\coding\sleact\client\node_modules\gensync\index.js:291:5)   

sleact (webpack 5.51.1) compiled with 1 error in 1475 ms
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! client@1.0.0 build: `cross-env TS_NODE_PROJECT="tsconfig-for-webpack-config.json" webpack`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the client@1.0.0 
build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run 
can be found in:
npm ERR!     C:\Users\user\AppData\Roaming\npm-cache\_logs\2021-08-24T16_04_56_594Z-debug.log

답변 4

·

답변을 작성해보세요.

0

rail님의 프로필

rail

질문자

2021.08.25

이 부분 말씀이신거죠~?

if (isDevelopment && config.plugins) {
  config.plugins.push(new webpack.HotModuleReplacementPlugin());
  config.plugins.push(new ReactRefreshWebpackPlugin());
  // config.plugins.push(new BundleAnalyzerPlugin({ analyzerMode: 'server', openAnalyzer: true }));
}
if (!isDevelopment && config.plugins) {
  // config.plugins.push(new webpack.LoaderOptionsPlugin({ minimize: true }));
  // config.plugins.push(new BundleAnalyzerPlugin({ analyzerMode: 'static' }));
}

https://www.inflearn.com/questions/179847

예전에 같은 질문이있었는데 체크해보세요

rail님의 프로필

rail

질문자

2021.08.25

감사합니다! 해결했습니다!

0

rail님의 프로필

rail

질문자

2021.08.25

말씀해주신 파일 보고 emotion 추가 설치했습니다! 그런데 여전히 화면에 아무것도 렌더링이 되지 않고 개발자 도구 열어보니 이런 에러가 있습니다..ㅠㅠ 이것도 설치 문제일까요..?

"dependencies": {
    "@emotion/babel-plugin": "^11.3.0",
    "@types/react": "^17.0.19",
    "@types/react-dom": "^17.0.9",
    "cross-env": "^7.0.3",
    "css-loader": "^6.2.0",
    "react": "^17.0.2",
    "react-dom": "^17.0.2",
    "style-loader": "^3.2.1",
    "ts-node": "^10.2.1",
    "typescript": "^4.3.5",
    "webpack-cli": "^4.8.0"
  },
  "devDependencies": {
    "@babel/core": "^7.15.0",
    "@babel/preset-env": "^7.15.0",
    "@babel/preset-react": "^7.14.5",
    "@babel/preset-typescript": "^7.15.0",
    "@types/node": "^16.7.1",
    "@types/webpack": "^5.28.0",
    "babel-loader": "^8.2.2",
    "eslint": "^7.32.0",
    "eslint-config-prettier": "^8.3.0",
    "eslint-plugin-prettier": "^3.4.1",
    "prettier": "^2.3.2",
    "react-refresh": "^0.10.0",
    "webpack": "^5.51.1"
  }

@pmmmwh/리엑트 리프레시 웹팩 플러그인... 이것도 설치하셔야 합니다.

rail님의 프로필

rail

질문자

2021.08.25

다음 강의 들으면서 말씀하신 pmmmwh 그것도 깔았는데 그대로더라구요 ㅜㅜ

webpack.config.ts에 있는 babel쪽 설정 보여주세요

rail님의 프로필

rail

질문자

2021.08.25

module: {
    rules: [
      {
        test: /\.tsx?$/,
        loader: 'babel-loader',
        options: {
          presets: [
            [
              '@babel/preset-env',
              {
                targets: { browsers: ['last 2 chrome versions'] },
                debug: isDevelopment,
              },
            ],
            '@babel/preset-react',
            '@babel/preset-typescript',
          ],
          env: {
            development: {
              plugins: [['@emotion', { sourceMap: true }], require.resolve('react-refresh/babel')],
            },
            production: {
              plugins: ['@emotion'],
            },
          },
        },
        exclude: path.join(__dirname, 'node_modules'),
      },
      {
        test: /\.css?$/,
        use: ['style-loader', 'css-loader'],
      },
    ],
  },
  plugins: [
    // ts와 webpack 동시에 돌아가게 해주는 플러그인
    new ForkTsCheckerWebpackPlugin({
      async: false,
      // eslint: {
      //   files: "./src/**/*",
      // },
    }),
    new webpack.EnvironmentPlugin({ NODE_ENV: isDevelopment ? 'development' : 'production' }),
  ],

이렇게 되어있습니다!

pmmmwh 플러그인도 밑에 사용되고있나요?

0

rail님의 프로필

rail

질문자

2021.08.25

아~ setting 폴더 안의 package.json이 아니라 완성본에 있는 package.json 파일 보구 설치해야하는건가보네요

초기 세팅 외 다른 부분은 중간중간 package.json에 추가되는 것들이 있습니다.

0

설치해야 합니다.

https://github.com/ZeroCho/sleact/blob/master/front/package.json#L14

채널톡 아이콘