Front End/React

React관련 설치 순서

DevHam94 2023. 9. 20. 13:10

visual studio code에서 아래순으로 명령을 실행시켜준다. 

// 패키지를 만들어준다. 
npm init -y

npm install webpack-cli --save-dev

//실행할 웹서버를 설치/ 트랜스파일러로 babel을 설치
npm install webpack-dev-server babel-loader @babel/core @babel/preset-env @babel/preset-react html-webpack-plugin --save-dev

 

package.json

{
  "name": "2.3",
  "version": "1.0.0",
  "description": "",
  "main": "app.js",
  "scripts": {
    "build": "webpack",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@babel/core": "^7.22.20",
    "@babel/preset-env": "^7.22.20",
    "@babel/preset-react": "^7.22.15",
    "babel-loader": "^9.1.3",
    "html-webpack-plugin": "^5.5.3",
    "webpack-cli": "^5.1.4",
    "webpack-dev-server": "^4.15.1"
  },
  "dependencies": {
    "build": "^0.1.4"
  }
}

 

root directory에 webpack.config.js를 만들어준다. 

const HtmlWebpackPlugin = require('html-webpack-plugin');
const path = require('path');

module.exports = {
    mode: 'development',
    entry: './app.js',
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'bundle.js'
    },

    devServer: {
        compress: true,
        port: 9999.
    },
        
    module: {
        rules: [
            {
                test: /\.js$/, // 정규식으로 
                exclude: /node_modules/, // 정규식으로 특정한 폴더를 제외시킨다. 
                use: {
                    loader: 'babel-loader',
                    optoins: {
                        presets: ["babel/presemt-env", "@babel/preset-react"]
                    }
                }
            }
        ]
    },

    plugins: [
        new HtmlWebpackPlugin({
            title: '2.3',
            template: 'index.html'
})
    ]
}

 

babel 세팅 babel.config.json

 

 

 

 

 

 

'Front End > React' 카테고리의 다른 글

react를 CRA형식 --template typescript로 생성시 ts템플릿이 안될때  (0) 2024.12.21
react 앱 세팅  (0) 2024.12.21
JSX Key 속성  (0) 2023.08.15
React Hooks  (0) 2023.08.13
Js 파일을 생성할때  (0) 2023.08.12