강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của judypark316417
judypark316417

câu hỏi đã được viết

Mã hóa Slack Clone [Trò chuyện trực tiếp với React]

Tạo trang đăng ký

404 에러

Viết

·

341

1

서버랑 front 쪽 npm run dev 하고 localhost:3090/signup 열었는데 Cannot GET /signup 이란 404 에러가 뜹니다..ㅜㅜ

어디서 잘못된건지 모르겠습니다.

webpack.config.ts 파일과 App.tsx 파일 첨부하겠습니다.

import path from 'path';
import ReactRefreshWebpackPlugin from '@pmmmwh/react-refresh-webpack-plugin';
import webpack, { Configuration as WebpackConfiguration } from 'webpack';
import ForkTsCheckerWebpackPlugin from 'fork-ts-checker-webpack-plugin';
import { Configuration as WebpackDevServerConfiguration } from 'webpack-dev-server';
// import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer';

interface Configuration extends WebpackConfiguration {
  devServer?: WebpackDevServerConfiguration;
}

const isDevelopment = process.env.NODE_ENV !== 'production';

const config: Configuration = {
  name: 'sleact',
  mode: isDevelopment ? 'development' : 'production',
  devtool: !isDevelopment ? 'hidden-source-map' : 'eval',
  resolve: {
    extensions: ['.js', '.jsx', '.ts', '.tsx', '.json'],
    alias: {
      '@hooks': path.resolve(__dirname, 'hooks'),
      '@components': path.resolve(__dirname, 'components'),
      '@layouts': path.resolve(__dirname, 'layouts'),
      '@pages': path.resolve(__dirname, 'pages'),
      '@utils': path.resolve(__dirname, 'utils'),
      '@typings': path.resolve(__dirname, 'typings'),
    },
  },
  entry: {
    app: './client',
  },
  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' }),
  ],
  output: {
    path: path.join(__dirname, 'dist'),
    filename: '[name].js',
    publicPath: '/dist/',
  },
  devServer: {
    historyApiFallback: true, // react router
    port: 3090,
    devMiddleware: { publicPath: '/dist/' },
    static: { directory: path.resolve(__dirname) },
    // proxy: {
    //   '/api/': {
    //     target: 'http://localhost:3095',
    //     changeOrigin: true,
    //   },
    // },
  },
};

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' }));
}

export default config;

import React from 'react';
import loadable from '@loadable/component';
import { Switch, Route, Redirect } from 'react-router-dom';

const LogIn = loadable(() => import('@pages/LogIn'));
const SignUp = loadable(() => import('@pages/SignUp'));

const App = () => {
  return (
    <Switch>
      <Redirect exact path="/" to="/login" />
      <Route path="/login" component={LogIn} />
      <Route path="/signup" component={SignUp} />
    </Switch>
  );
};

export default App;
클론코딩웹팩typescriptreactbabelSocket.io

Câu trả lời 2

0

손가락 한번 까딱하고 얻어갑니다~

0

zerocho님의 프로필 이미지
zerocho
Người chia sẻ kiến thức

dev server 4로 인한 문제인데 찾아보고 다시 알려드리겠습니다. dev server 3으로 돌아가먄 다시 되긴 합미다

rail님의 프로필 이미지
rail
Người đặt câu hỏi

dev server 3일땐 또 다른 에러가 떴었어서 dev server 4로 다시 설치했었습니다ㅜㅜ

zerocho님의 프로필 이미지
zerocho
Người chia sẻ kiến thức

제 깃헙 front로 해보니 잘 뜨네요. 어딘가에 오타가 있거나 할 것 같습니다.

rail님의 프로필 이미지
rail
Người đặt câu hỏi

오타는 못 찾았는데 이런 에러가 납니다ㅜㅜ 

SocketClient가 생성자가 아니라길래.. 혹시 몰라서 "socket.io-client": "^4.1.3", 설치하고 다시 npm run dev해도 동일한 에러가 발생합니다. 

zerocho님의 프로필 이미지
zerocho
Người chia sẻ kiến thức

@pmmmwh는 버전 0.5.0을 쓰시면 됩니다.

rail님의 프로필 이미지
rail
Người đặt câu hỏi

해결되었습니다! 감사합니다!

Hình ảnh hồ sơ của judypark316417
judypark316417

câu hỏi đã được viết

Đặt câu hỏi