inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

웹 게임을 만들며 배우는 React

webpack nodejs 질문

166

이주호

작성한 질문수 39

0

안녕하세여 다름이 아니라 제가 react는 webpack 그리고 백엔드는 noejs epxress를 하는데 작업을하다가 갑자기 프론트 터미널에 에러가 뜨는데 보니깐 node 모듈이랑 꼬여서 그런거같더라고요. 이런 경우에는 webpack에 target을 target:node해야되나요?? target:node하니깐 require is notdefind에 react is notdefind 이렇게 뜨더라고요... 대체 원인이 먼지 모르겠습니다.

const path = require("path");
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const nodeExternals = require('webpack-node-externals'); 
const webpack = require('webpack');

module.exports = {
  name: "wehago",
  mode: "development",
  devtool: "eval",
  target: 'node',
  resolve: {
    extensions: [".js"".jsx""css""scss"],
  },
  entry: {
    app: ["babel-polyfill","./client"], 
  },
  externals: [nodeExternals()],
  externals: {
    "React": "react",
  },
  module: {
    rules: [
      {
        test: /\.jsx?$/,
        loader: "babel-loader",
        options: {
          presets: [
            [
              "@babel/preset-env",
              {
                debug: true,
              },
            ],
            "@babel/preset-react",
          ],
          plugins: ["react-hot-loader/babel"],
        },
        exclude: path.join(__dirname"node_modules"),
      },
      {
        test: /\.css$/,
        use: [MiniCssExtractPlugin.loader"css-loader"],
      },
      {
        test: /\.scss$/,
        loaders: [
          require.resolve("style-loader"),
          require.resolve("css-loader"),
          require.resolve("sass-loader"),
        ],
      },
      {
        test: /\.(ico|png|jpg|jpeg|gif|svg|woff|woff2|ttf|eot)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
        loader: "url-loader",
        options: {
          publicPath: "./dist/",
          name: "[name].[ext]?[hash]",
        },
      },
    ],
  },
  node: {
    net: 'empty',
    tls: 'empty',
    fs: 'empty'
  },
  plugins: [
    new MiniCssExtractPlugin({
      filename: "style.css",
    }),
    new webpack.ProvidePlugin({
      "React": "react",
    }),
  ],
  output: {
    path: path.join(__dirname"dist"),
    filename: "[name].js",
    publicPath: "/dist",
  },
};

react

답변 1

0

제로초(조현영)

노드랑 리액트랑 같이 작업하실 때는 노드는 webpack 처리를 하시면 안 되고 react만 따로 웹팩처리하셔야 합니다.

웹팩처리된 react 결과물을 node에서 서버로 서빙하는 프로세스를 갖춰야 합니다.

npm run dev 실행 시 포트가 안뜨는 문제

0

203

2

timeouts.current를 useEffect 의 input값으로 넣었을때

0

86

2

렌더링 테스트 코드 (Hooks)

0

80

1

Cannot find package 'react-refesh' 이런 에러 뜨시는 분들 보세요.

0

149

1

해당 에러 뜨는 분들 보세요. "Uncaught TypeError: ReactDom.createRoot is not a function"

1

191

1

강사님 레포지토리에서 코드 복사 시 master 브랜치 말고 react18 브랜치꺼 복붙하세요ㅠㅠ

0

95

1

useMemo와 useCallback 사용 시기

0

206

2

onRightClickTd가 작동을 하지 않습니다.

0

226

1

action.type 불러오는 방식

0

222

2

onClickRedo 질문

0

172

1

const Try = require(./Try) 빨간줄

0

248

1

npx webpack 실행시

0

313

1

지뢰찾기 강좌에서 빈칸들 한번에 열기 파트에서 여쭤보고싶은부분이 있어서 글 올립니다.

0

235

1

강좌에서 다루지 않은 기능들은 어떻게 학습하면 좋을까요?

0

311

1

react devtool이 enable 않됩니다.

0

530

2

React 랜더링이 되지 않습니다.

0

411

2

비동기로 동작하는 setState에 대해서

0

331

1

npm run dev 할 때 에러발생

0

478

2

memo, PureComponenet, shouldComponentUpdate 관련 질문

0

206

1

devMiddleware의 필요성

0

352

1

리액트에서 화살표 함수를 사용해야하는 이유

0

935

2

path.join관련질문

0

282

2

2-9. 웹팩 데브 서버와 핫 리로딩 설치과정 시 에러

0

374

1

next.js 에서 이와 비슷한 예제를 돌리고있는데 react랑 달라서 질문 드립니

1

491

4