手動(dòng)用webpack搭建第一個(gè)ReactApp的示例
學(xué)習(xí) React 可以用以下方法直接創(chuàng)建一個(gè) ReactApp ,本文主要介紹如何手動(dòng)來搭這個(gè)環(huán)境。
npm install -g create-react-app create-react-app my-app cd my-app npm start
使用淘寶 NPM 鏡像
使用 React 和 Webpack 需要安裝很多依賴包,不走代理的話速度會(huì)非常慢,也很容易出錯(cuò),所以這里推薦使用淘寶的 npm 鏡像來安裝,速度非常理想。
使用淘寶鏡像安裝 npm 包只需要兩步即可:
安裝 cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
使用 cnpm 來安裝包
只需要將 npm 替換成 cnpm 即可獲得高速下載。
cnpm install [name]
下文中給出的所有安裝依賴包的命令都使用 cnpm 安裝的。你也可以用 npm。
開始第一個(gè) React
初始化一個(gè) json 配置文件
npm init
執(zhí)行上面這條命令后輸入一些信息即可創(chuàng)建 json 文件,這個(gè)文件也可以手動(dòng)建。entry point 要填 index.js,其他的隨意。
安裝 React
cnpm install react react-dom --save
安裝編譯工具 babel
安裝打包工具 wepback
全局的和當(dāng)前文件夾的最好都裝上,這樣可以花式打包。
cnpm install webpack webpack-cli --save-dev cnpm install webpack-dev-server --save-dev cnpm install webpack webpack-cli -g cnpm install webpack-dev-server -g
配置 webpack
為了方便,以下所有文件都建在同一個(gè)文件夾下面。
新建 webpack.config.js 并添加以下內(nèi)容
const path =require('path'); module.exports = { entry: path.resolve(__dirname, 'index.js'), output: { path: path.resolve(__dirname, ''), filename: "bundle.js" }, mode: 'development', module: { rules: [ { test: /\.js$/, exclude: /node_modules/, loader: "babel-loader", options: { presets: ["es2015","react"] } } ] } };
在 webpack4 中 mode 屬性如果不指定會(huì)有警告。
創(chuàng)建測試文件
新建 index.js 文件
import React from 'react'; import ReactDOM from 'react-dom'; ReactDOM.render( <h1>我的第一個(gè)react例子</h1>, document.getElementById('root') );
新建 index.html 文件
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>example</title> </head> <body> <div id="root"></div> <script src="bundle.js"></script> </body> </html>
啟動(dòng)
最后執(zhí)行 webpack 即可將 index.js 打包生成瀏覽器可執(zhí)行的 bundle.js 文件。此時(shí),index.html 文件已經(jīng)可在瀏覽器中執(zhí)行了。
附上我的 package.json 文件,直接執(zhí)行 cnpm install 就能安裝所有依賴。
{ "name": "myapp", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "start": "webpack", "start:dev": "webpack-dev-server" }, "author": "", "license": "ISC", "devDependencies": { "babel-core": "^6.26.0", "babel-loader": "^7.1.4", "babel-preset-es2015": "^6.24.1", "babel-preset-react": "^6.24.1", "webpack": "^4.2.0", "webpack-cli": "^2.0.12", "webpack-dev-server": "^3.1.1" }, "dependencies": { "react": "^16.2.0", "react-dom": "^16.2.0" } }
熱啟動(dòng)
如果 index.js 發(fā)生了改變,則需要再編譯打包一次,才能更新 bundle.js 文件,這樣效率非常低。webpack 提供了一條命令可以實(shí)時(shí)進(jìn)行編譯打包。
webpack --watch
執(zhí)行這條命令后,index.js 文件就能被動(dòng)態(tài)編譯打包了,非常方便。
不過上面的熱啟動(dòng)還是很麻煩,還要手動(dòng)刷新瀏覽器,這里還有很牛逼的。
直接執(zhí)行 webpack-dev-server 即可自動(dòng)刷新瀏覽器
如果要換端口的話,在啟動(dòng)命令后面加上--port 端口號(hào)即可,例如:webpack-dev-server --port 8001
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 詳解使用WebPack搭建React開發(fā)環(huán)境
- 基于Webpack4和React hooks搭建項(xiàng)目的方法
- 基于webpack4.X從零搭建React腳手架的方法步驟
- Webpack 4.x搭建react開發(fā)環(huán)境的方法步驟
- webpack4 + react 搭建多頁面應(yīng)用示例
- 基于webpack4搭建的react項(xiàng)目框架的方法
- 從零開始搭建webpack+react開發(fā)環(huán)境的詳細(xì)步驟
- 使用webpack搭建react開發(fā)環(huán)境的方法
- 詳解基于webpack搭建react運(yùn)行環(huán)境
- 使用webpack5從0到1搭建一個(gè)react項(xiàng)目的實(shí)現(xiàn)步驟
相關(guān)文章
React的組件協(xié)同使用實(shí)現(xiàn)方式
這篇文章主要介紹了React的組件協(xié)同使用,文中給大家提到在React開發(fā)中,有哪些場景的組件協(xié)同?又如何去實(shí)現(xiàn)組件的協(xié)同使用呢?本文都給大家提到,感興趣的朋友跟隨小編一起看看吧2021-09-09React組件中監(jiān)聽函數(shù)獲取不到最新的state問題
這篇文章主要介紹了React組件中監(jiān)聽函數(shù)獲取不到最新的state問題問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01React.memo函數(shù)中的參數(shù)示例詳解
這篇文章主要為大家介紹了React.memo函數(shù)中的參數(shù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09詳解使用React全家桶搭建一個(gè)后臺(tái)管理系統(tǒng)
本篇文章主要介紹了使用React全家桶搭建一個(gè)后臺(tái)管理系統(tǒng),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11React?split實(shí)現(xiàn)分割字符串的使用示例
當(dāng)我們需要將一個(gè)字符串按照指定的分隔符進(jìn)行分割成數(shù)組時(shí),我們可以在組件的生命周期方法中使用split方法來實(shí)現(xiàn)這個(gè)功能,本文就來介紹一下,感興趣的可以了解下2023-10-10