国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

React從入門到實戰(zhàn)-react腳手架,消息訂閱與發(fā)布

這篇具有很好參考價值的文章主要介紹了React從入門到實戰(zhàn)-react腳手架,消息訂閱與發(fā)布。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

創(chuàng)建項目并啟動

  1. 全局安裝 npm install -g create-react-app
  2. 切換到想創(chuàng)建項目的目錄,使用命令:create-react-app 項目名稱

? React從入門到實戰(zhàn)-react腳手架,消息訂閱與發(fā)布,React,react.js,前端,前端框架

  1. cd 項目文件夾, npm start 啟動項目

創(chuàng)建項目遇到的問題

  1. create-react-app : 無法加載文件

? React從入門到實戰(zhàn)-react腳手架,消息訂閱與發(fā)布,React,react.js,前端,前端框架

解決辦法:

1.以管理員身份打開windows PowerShell

2.輸入set-ExecutionPolicy RemoteSigned,輸入A 回車,再次輸入get-ExecutionPolicy發(fā)現(xiàn)出現(xiàn)RemoteSigned就可以了!

React從入門到實戰(zhàn)-react腳手架,消息訂閱與發(fā)布,React,react.js,前端,前端框架

功能界面的組件化編碼流程

  1. 拆分組件:拆分頁面,抽取組件

  2. 實現(xiàn)靜態(tài)組件:使用組件實現(xiàn)靜態(tài)頁面效果

  3. 實現(xiàn)動態(tài)組件:

    1. 動態(tài)顯示初始化數(shù)據(jù)

      1. 數(shù)據(jù)類型
      2. 數(shù)據(jù)名稱
      3. 保存在哪個組件?
    2. 交互

腳手架配置代理

方法一:在package.json中追加如下配置

"proxy":"請求的地址"  
"proxy":"http://localhost:5000"   

缺點:不能配置多個代理

工作方式:上述方式配置代理,當(dāng)請求了3000不存在的資源時,那么該請求會轉(zhuǎn)發(fā)給5000 (優(yōu)先匹配前端資源)

方法二:創(chuàng)建代理配置文件

  1. 創(chuàng)建代理配置文件:在src下創(chuàng)建文件 setupProxy.js 使用commonjs語法
  2. 編寫setupProxy.js配置具體代理規(guī)則:
const proxy = require('http-proxy-middleware')
 
module.exports = function(app) {
  app.use(
    proxy('/api1', {  //api1是需要轉(zhuǎn)發(fā)的請求(所有帶有/api1前綴的請求都會轉(zhuǎn)發(fā)給5000)
      target: 'http://localhost:5000', //配置轉(zhuǎn)發(fā)目標(biāo)地址(能返回數(shù)據(jù)的服務(wù)器地址)
      changeOrigin: true, //控制服務(wù)器接收到的請求頭中host字段的值
      /*
          changeOrigin設(shè)置為true時,服務(wù)器收到的請求頭中的host為:localhost:5000
          changeOrigin設(shè)置為false時,服務(wù)器收到的請求頭中的host為:localhost:3000
          changeOrigin默認(rèn)值為false,但我們一般將changeOrigin值設(shè)為true
      */
      pathRewrite: {'^/api1': ''} //去除請求前綴,保證交給后臺服務(wù)器的是正常請求地址(必須配置)
    }),
    proxy('/api2', { 
      target: 'http://localhost:5001',
      changeOrigin: true,
      pathRewrite: {'^/api2': ''}
    })
  )
}

說明:

1.優(yōu)點:可以配置多個代理,可以靈活的控制請求是否走代理

2.缺點:配置繁瑣,前端請求資源時必須加前綴

問題:react setupProxy.js導(dǎo)致項目無法啟動

更換為高版本 http-proxy-middleware

const proxy = require('http-proxy-middleware')//引入http-proxy-middleware,react腳手架已經(jīng)安裝
module.exports = function(app){
app.use(
    proxy.createProxyMiddleware('/api',{ //遇見/api1前綴的請求,就會觸發(fā)該代理配置
        target:'http://localhost:5000', //請求轉(zhuǎn)發(fā)給誰
        changeOrigin:true,//控制服務(wù)器收到的請求頭中Host的值
        pathRewrite:{'^/api':''} //重寫請求路徑,下面有示例解釋
    }),
    proxy.createProxyMiddleware('/api2',{
        target:'http://localhost:5001',
        changeOrigin:true,
        pathRewrite:{'^/api2':''}
    }),
   )
}

消息訂閱-發(fā)布機(jī)制

  1. 工具庫:PubSubJS

  2. 下載:npm install pubsub-js -save

  3. 使用:

    1. import PubSub from ‘pubsub-js’
    2. 使用:PubSub.publish()發(fā)布,PubSub.subscribe()訂閱
  4. 要在組件的componentWillUnmount中取消訂閱

fetch發(fā)送請求(關(guān)注分離的設(shè)計思想)

  1. 概念:是一種全局方法,提供一種簡單,合理的方法跨網(wǎng)絡(luò)請求資源。請求是基于Promise,是專門為了取代傳統(tǒng)的xhr而生的。
  2. 使用語法:
fetch(url,options).then((response)=>{
 //處理http響應(yīng)
  },(error)=>{ 
  //處理錯誤
  } )
  1. 讀取內(nèi)容方法:response對象根據(jù)服務(wù)器返回不同類型數(shù)據(jù),提供了不同的讀取方法
    response.text() 得到文本字符串
    response.json() 得到j(luò)son對象
    response.blob() 得到二進(jìn)制blob對象
    response.formData() 得到formData對象
    response.arrayBuffer() 得到二進(jìn)制arrayBuffer對象

  2. fetch默認(rèn)不帶cookie,傳遞cookie時,必須在header參數(shù)內(nèi)加上credentials:‘include’,才會像xhr將當(dāng)前cookie帶有請求中文章來源地址http://www.zghlxwxcb.cn/news/detail-617384.html

到了這里,關(guān)于React從入門到實戰(zhàn)-react腳手架,消息訂閱與發(fā)布的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【React】腳手架創(chuàng)建項目

    【React】腳手架創(chuàng)建項目

    ? 創(chuàng)建React項目的命令如下: ? ? 注意:項目名稱 不能包含大寫字母 ? ? 另外還有更多創(chuàng)建項目的方式,可以參考GitHub的readme 命令: create-react-app 你的項目名稱 ? 創(chuàng)建完成后,進(jìn)入對應(yīng)的目錄,就可以將項目跑起來: yarn start ? 我們可以通過VSCode打開項目: 注意 se

    2024年01月19日
    瀏覽(159)
  • 創(chuàng)建react腳手架項目——demo(react18 + react-router 6)+ react項目打包部署

    創(chuàng)建react腳手架項目——demo(react18 + react-router 6)+ react項目打包部署

    全局安裝 create-react-app 說明:不建議安裝全局,建議使用 npx 命令安裝,具體可參考官網(wǎng),如下: 官網(wǎng): https://zh-hans.legacy.reactjs.org/docs/create-a-new-react-app.html. 1.2.1 問題1——npm ERR! code ENOTFOUND(網(wǎng)絡(luò)問題clashx) 問題描述,如下: 解決問題——方式1 如果使用了clashx,可能是它

    2024年02月07日
    瀏覽(30)
  • react快速開始(三)-create-react-app腳手架項目啟動;使用VScode調(diào)試react

    react快速開始(三)-create-react-app腳手架項目啟動;使用VScode調(diào)試react

    create-react-app(以下簡稱cra)作為react官方提供的腳手架工具,是目前生成react項目一個非常常用和主流的工具。很多企業(yè)級的應(yīng)用搭建也是基于這個腳手架工具上二次開發(fā) create-react-app腳手架 生成的 package.json中 scripts如下: 我們看到分別是項目的啟動開發(fā)環(huán)境,構(gòu)建,測試的

    2024年02月10日
    瀏覽(31)
  • react native在windows環(huán)境搭建并使用腳手架新建工程

    react native在windows環(huán)境搭建并使用腳手架新建工程

    截止到2024-1-11,使用的主要 軟件的版本 如下: 軟件實體 版本 react-native 0.73.1 react 18.2.0 react-native-cli 2.0.1 Android Studio 2022.3.1 Patch3 Android SDK Android SDK Platform 33 34 Android SDK Android SDK Tools 33 34 Android SDK Intel x86 Atom_64 System Image Android SDK Google APIs Intel x86 Atom System Image node 20.10.0 yarn 1.

    2024年02月02日
    瀏覽(29)
  • Vue腳手架使用【快速入門】

    Vue腳手架使用【快速入門】

    在黑窗口中輸入vue ui命令 再更改完路徑地址后需要按回車 第一種可以在黑窗口輸入命令安裝 第二種使用圖形化安裝 第一種可以在黑窗口輸入命令安裝 第二種使用圖形化安裝 1 Vscode [必須用vscode] 2 Webstorm [它和idea一模一樣] 3 idea打開—安裝vue插件 輸入命令 啟動成功 如果不能

    2024年02月15日
    瀏覽(32)
  • 【Vue2+3入門到實戰(zhàn)】(17)VUE之VueCli腳手架自定認(rèn)創(chuàng)建項目、ESlint代碼規(guī)范與修復(fù)、 ESlint自動修正插件的使用 詳細(xì)示例

    【Vue2+3入門到實戰(zhàn)】(17)VUE之VueCli腳手架自定認(rèn)創(chuàng)建項目、ESlint代碼規(guī)范與修復(fù)、 ESlint自動修正插件的使用 詳細(xì)示例

    VueCli腳手架自定認(rèn)創(chuàng)建項目 ESlint代碼規(guī)范與修復(fù) ESlint自動修正插件 1.安裝腳手架 (已安裝) 2.創(chuàng)建項目 選項 手動選擇功能 選擇vue的版本 是否使用history模式 選擇css預(yù)處理 選擇eslint的風(fēng)格 (eslint 代碼規(guī)范的檢驗工具,檢驗代碼是否符合規(guī)范) 比如:const age = 18; = 報錯!多加

    2024年02月03日
    瀏覽(127)
  • Vue開發(fā)項目入門——Vue腳手架

    ????????Vue腳手架是Vue官方提供的標(biāo)準(zhǔn)化開發(fā)工具(開發(fā)平臺), 它 提供命令行和UI界面,方便創(chuàng)建vue工程、配置第三方依賴、編譯vue工程。 ? ? ? ? 特別注意:Vue腳手架是用來方便開發(fā)的,但vue腳手架不是最終發(fā)布到生產(chǎn)環(huán)境的產(chǎn)品。很多人會誤認(rèn)為生產(chǎn)環(huán)境也要安裝

    2023年04月08日
    瀏覽(17)
  • 微信小程序入門04-后端腳手架搭建

    微信小程序入門04-后端腳手架搭建

    我們上一篇已經(jīng)介紹了權(quán)限系統(tǒng)的庫表搭建,光有表還是不夠的,我們還需要有一個后臺系統(tǒng)和數(shù)據(jù)庫進(jìn)行交互。搭建后臺的時候既需要選擇使用什么語言,也需要選擇框架。 框架分為前端框架和后端框架。在第一篇微信開發(fā)者工具搭建的時候我們其實前端框架已經(jīng)選擇好了

    2024年02月05日
    瀏覽(28)
  • vue 腳手架新手入門(vue cli 3)

    vue 腳手架新手入門(vue cli 3)

    “:” 是指令 “v-bind”的縮寫。用來綁定數(shù)據(jù) @”是指令“v-on”的縮寫。用來監(jiān)聽,并調(diào)用方法 下面是綁定class屬性的數(shù)值。 監(jiān)聽點擊動作 1.1、v-model 雙向綁定 雙向綁定 上面的操作等于 v-model 會將被綁定的值與 的值自動同步,這樣我們就不必再使用事件處理函數(shù)了。 v-mo

    2024年02月09日
    瀏覽(780)
  • 【前端】Vue2 腳手架模塊化開發(fā) -快速入門

    【前端】Vue2 腳手架模塊化開發(fā) -快速入門

    ??歡迎來到@邊境矢夢°的csdn博文?? ???本文主要梳理Vue2 腳手架模塊化開發(fā) ?? ??我是邊境矢夢°,一個正在為秋招和算法競賽做準(zhǔn)備的學(xué)生?? ??喜歡的朋友可以關(guān)注一下 ?????? ,下次更新不迷路?? Ps: 月亮越亮說明知識點越重要 (重要性或者難度越大)??????????

    2024年02月10日
    瀏覽(97)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包