您好,登錄后才能下訂單哦!
這篇文章主要介紹了怎么用webpack搭建第一個(gè)ReactApp,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
學(xué)習(xí) React 可以用以下方法直接創(chuàng)建一個(gè) ReactApp ,本文主要介紹如何手動(dòng)來(lái)搭這個(gè)環(huán)境。
npm install -g create-react-app create-react-app my-app cd my-app npm start
使用淘寶 NPM 鏡像
使用 React 和 Webpack 需要安裝很多依賴(lài)包,不走代理的話(huà)速度會(huì)非常慢,也很容易出錯(cuò),所以這里推薦使用淘寶的 npm 鏡像來(lái)安裝,速度非常理想。
使用淘寶鏡像安裝 npm 包只需要兩步即可:
安裝 cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
使用 cnpm 來(lái)安裝包
只需要將 npm 替換成 cnpm 即可獲得高速下載。
cnpm install [name]
下文中給出的所有安裝依賴(lài)包的命令都使用 cnpm 安裝的。你也可以用 npm。
開(kāi)始第一個(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
復(fù)制代碼 代碼如下:
cnpm install babel-core babel-loader babel-preset-react babel-preset-es2015 --save-dev
安裝打包工具 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)建測(cè)試文件
新建 index.js 文件
import React from 'react'; import ReactDOM from 'react-dom'; ReactDOM.render( <h2>我的第一個(gè)react例子</h2>, 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 就能安裝所有依賴(lài)。
{ "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)編譯打包了,非常方便。
不過(guò)上面的熱啟動(dòng)還是很麻煩,還要手動(dòng)刷新瀏覽器,這里還有很牛逼的。
直接執(zhí)行 webpack-dev-server 即可自動(dòng)刷新瀏覽器
如果要換端口的話(huà),在啟動(dòng)命令后面加上--port 端口號(hào)即可,例如:webpack-dev-server --port 8001
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“怎么用webpack搭建第一個(gè)ReactApp”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。