網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
1.快速創(chuàng)建React項(xiàng)目
npm install -g create-react-app // 全局安裝create-react-app (只需要安裝一次) create-react-app demo // 創(chuàng)建項(xiàng)目 cd demo // 進(jìn)入項(xiàng)目目錄
注意,Create React App requires Node 14 or higher.需要安裝高版本的node。
創(chuàng)建的項(xiàng)目目錄結(jié)構(gòu)
-Demo // 項(xiàng)目名 -node_modules // 存放第三方包 -public -favicon.ico -index.html -manifest.json -src // 頁(yè)面代碼都寫(xiě)在這下面 -App.css -App.js -App.test.js -index.css -index.js //項(xiàng)目入口 -logo.svg -serviceWorker.js -setupTest.js .gitignore package.json README.md yarn.lock
2.安裝所需包
由于package.json里包含react和react-dom,已經(jīng)默認(rèn)安裝了,我們安裝UI框架ant design即可。
npm i --save antd
安裝webpack的兩個(gè)基本項(xiàng)
npm i webpack webpack-cli --save-dev
安裝webpack
npm i -D webpack
安裝webpack服務(wù)器 webpack-dev-server,讓啟動(dòng)更方便
npm i --save-dev webpack-dev-server
自動(dòng)創(chuàng)建html文件 html-webpack-plugin
npm i --save-dev html-webpack-plugin
清除無(wú)用文件 clean-webpack-plugin,將每次打包多余的文件刪除
npm i --save-dev clean-webpack-plugin
樣式編譯loader插件
npm i --save-dev style-loader css-loader // css相關(guān)loader npm i --save-dev node-sass sass-loader // scss 相關(guān)loader npm i --save-dev file-loader url-loader // 加載其他文件,比如圖片,字體
安裝babel
npm i --save-dev @babel/core @babel/cli @babel/preset-env @babel/preset-react @babel/plugin-proposal-class-properties npm i --save @babel/polyfill npm i --save-dev babel-loader
3.根目錄創(chuàng)建webpack.config.js文件,代碼如下
const path = require('path'); const webpack = require('webpack'); const HtmlPlugin = require('html-webpack-plugin'); module.exports = { devtool: 'inline-source-map', entry: { index: './src/index.js' }, output: { filename: 'bundle.js', path: path.resolve(__dirname, 'build') }, module: { rules: [{ test: /\.css$/, use: ['style-loader', 'css-loader'] }, { test: /\.scss$/, use: ['style-loader', 'css-loader', 'sass-loader'] }, { test: /\.(png|svg|jpg|gif)$/, loader: 'url-loader', options: { limit: 10000, name: 'img/[name].[hash:7].[ext]' } }, { test: /\.(js|jsx)$/, use: 'babel-loader', exclude: /node_modules/ }] }, devServer: { // contentBase: './build', port: 8081, // 端口號(hào) // inline: true, hot: true }, plugins: [ new webpack.HotModuleReplacementPlugin(), new HtmlPlugin({ template: 'public/index.html' }) ] }
4.在根目錄下添加文件 .babelrc,代碼如下
{ "presets": [ "@babel/preset-env", "@babel/preset-react" ], "plugins": [ "@babel/plugin-proposal-class-properties" ] }
5.修改 package.json
"scripts": { "start": "webpack-dev-server --open --mode production", "watch": "webpack --watch", "build": "webpack --mode production", "dev": "webpack --mode development& webpack-dev-server --open --mode development", "test": "react-scripts test", "eject": "react-scripts eject" },
6.修改public/index.html文件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>demo</title> </head> <body> <div id="root"></div> </body> </html>
7.修改src/index.js文件
import React from 'react'; import ReactDOM from 'react-dom'; import App from './App'; ReactDOM.render( <App />, document.getElementById('root') );
8.修改src/App.js文件
import React, { Component } from 'react'; import './App.css'; // 引入樣式文件 class App extends Component { constructor(props) { super(props); this.state = {}; } render() { return ( <div className="main"> <div>我是首頁(yè)</div> </div> ); } } export default App;
9.修改 src/App.css文件
.main { background: darkgray; width: 500px; height: 500px; margin: 0 auto; }
10.在項(xiàng)目根目錄下執(zhí)行
npm run dev
原文鏈接:https://www.cnblogs.com/luoyihao/p/15797950.html
相關(guān)推薦
- 2022-06-08 基于Apache?Hudi在Google云構(gòu)建數(shù)據(jù)湖平臺(tái)的思路詳解_Linux
- 2022-08-26 Python使用sqlite3第三方庫(kù)讀寫(xiě)SQLite數(shù)據(jù)庫(kù)的方法步驟_python
- 2023-03-22 gin正確多次讀取http?request?body內(nèi)容實(shí)現(xiàn)詳解_Golang
- 2022-06-17 C語(yǔ)言詳細(xì)講解多維數(shù)組與多維指針_C 語(yǔ)言
- 2023-03-27 react+antd?select下拉框?qū)崿F(xiàn)模糊搜索匹配的示例代碼_React
- 2021-12-13 C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)與算法之圖的遍歷(一)_C 語(yǔ)言
- 2022-06-20 詳解Python列表解析式的使用方法_python
- 2023-10-31 WebSocket消息推送
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門(mén)
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支