日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

160921、React入门教程第一课--从零开始构建项目

發布時間:2025/5/22 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 160921、React入门教程第一课--从零开始构建项目 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

工欲善其事必先利其器,現在的node環境下,有太多好用的工具能夠幫助我們更好的開發和維護管理項目。

我本人不建議什么功能都自己寫,我比較喜歡代碼復用。只要能找到npm包來實現的功能,堅決不自己敲代碼。

本次編寫程序的兩個原則:1、盡量使用聲明式的編程風格(聲明式和命令式,不是很清楚的自己查查資料)2、能復用的決不自己編寫。

任何多余的繁瑣的行為都是錯誤的

本次編寫架構的目的:簡單好用易開發易管理。(項目是變想變創建的,可能需要后續的不斷優化。大家盡量作為學習材料參考,也可直接用于項目,反正我自己是直接先用的,后續有問題再優化就是了,額)

長話短說:這是一個關于React的系列新手教程。在項目中有很多其他的工具和框架可以選擇,我在這個教程里直接選擇我自己喜歡的,

你們可以根據自己的使用習慣選擇相近的可替代的框架。

?

一、首先我們先創建一個文件夾,在你喜歡的任意位置新建一個文件夾--如:OniReact

在其目錄下創建個子目錄(創建順序按照首字母排序)

·OniReact/build:用于存放編譯后的js文件和項目啟動的html

·OniReact/image:用于存放項目所使用到的圖片資源

·OniReact/mock:用于存放本地構建的Json文件,用于本地數據調試

·OniReact/source:用于存放所有的JavaScript的源文件

·OniReact/style:用于存放項目中使用的所有css、less、sass(本項目使用sass)

二、接下來在OniReact/source目錄下創建二級子目錄

·OniReact/source/components:用于存放自己編寫的React組件

·OniReact/source/custom:用于存放自定義的實際項目中所需要的Store、Action等文件(可以理解為邏輯控制器、此次用到的是Flux,集體后面會講到)

·OniReact/source/utils:用于存放封裝好通用的Store、Action、Http請求等文件(用于存放一些用具類,后面會講解到為什么將Store、Action分為兩部分)

·OniReact/source/webpage:用于存放頁面(頁面可有上面編寫的組件組合而成,也可全新編寫)

這樣子基本上所有的目錄都創建完畢了。

以上文件夾只是初期的預想,根據其他框架的開發經驗假想出來的,后續可能需要更改或者調整。

三、創建相關文件

創建項目啟動入口,在OniReact/source目錄下創建app.js

·OniReact/source/app.js:用于應用程序的入口

創建package.json

package.json是npm命令(不知道什么是npm的也自己查查資料,我這里不詳細講node的內容)執行需要的文件,可以用來管理和存儲我們所需要的npm包。

將依賴包存儲在package.json里面,可以使用npm install命令來自動安裝依賴包。(拷貝項目或者分享項目的時候不需要負責依賴包,在拷貝完成之后執行自動安裝即可)

四、初始化npm包(每一個提交到npm上面的項目被稱作一個包,雖然我們不提交,但是也用包來形容)(所有的命令行相關都是win環境,ios的請自行查閱)

cd?OniReact (一定要確認此時處在OniReact目錄下,最簡單的方式就是在OniReact下按住Shift鍵加鼠標右鍵選擇“在此處打開命令窗口”)

$ npm init ?($表示在命令行中鍵入,如此處為輸入npm init,后續教程中,不再說明)

執行的時候需要輸入一些數據,也可以不輸入,有興趣的可以每一步都看一下,一般讓輸入項目名、作者之類的,反正一直回車也可以,

所有的數據可以后續打開自動生成的package.json文件查看。(全部默認會生成如下內容)

?

{
"name": "OniReact",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": { "test": "echo \"Error: no test specified\" && exit 1" ?},
"author": "",
"license": "ISC"

}

?

使用編程工具打開項目,我使用的是WebStorm。

五、選擇打包工具-Browserify(關于說明和詳細用法可查看官網http://browserify.org)

簡而言之就是使用它來打包,將所有使用到的模塊打包成一個可以讓前段瀏覽器執行的js文件。

cd?OniReact

$ npm install --save-dev browserify (--save-dev參數表示將該模塊存儲到package.json中,后續不做說明)

?

(警告忽略,錯誤需要處理,所有的命令行執行都是這樣)

安裝完成會在package.json中插入(添加--save-dev參數會被保存)

?

"devDependencies": { "browserify": "^13.1.0"}

在項目目錄中會自動創建一個名叫node_modules的子目錄,用于存放本地依賴的模塊。(注意在使用git或者svn時,不要上傳這個目錄)

?

這里提一個細節,如果使用的開發工具是WebStorm,可以在界面的最下方打開Terminal。相當于在項目當前目錄下執行的命令窗口。

使用它有幾個明顯優點1、不需要再開啟一個黑窗口。2、可以使用復制黏貼(cmd這個功能不好用,特別是安裝出錯復制log的時候)。3、直接就在當前目錄下,不需要一直cd。

六、選擇構建工具---gulp(http://gulpjs.com)

這個工具很強大,一兩句話說不完,后續用到什么,什么詳細說明。其他功能請參考官網。

?

cd?OniReact

$ npm install --save-dev gulp (在Terminal中執行如下圖,后續不再做截圖)

?gulp不僅僅作為運行依賴,還作為開發依賴,所以需要將它安裝到全局:

cd?OniReact

$ npm install -g gulp?

執行以下命令檢測安裝時候完成。

?

cd?OniReact

$ ?gulp?

這里有個警告:沒有找到gulpfile.

如果說package.json是npm包的元數據文件,那么gulpfile.js可以理解為gulp項目的元數據文件。(這么理解吧,我也不知道對不對)

它主要用來定義gulp任務,告訴gulp他需要做些什么事情,怎么做??梢岳斫鉃橐粋€配置文件也可以。

七、選擇解析工具--babelify

由于React使用的是JSX的語法,瀏覽器是不能直接運行的。babelify可以幫助我們解析jsx語法。

?

cd?OniReact

$ npm install --save-dev babelify

八、創建gulpfile.js

前面提到的都是工具的安裝,現在開始使用這些工具。

cd?OniReact 在OniReact目錄下創建gulpfile.js

鍵入以下內容:

?

var gulp = require('gulp');gulp.task('default', function () { console.log("執行gulp默認任務"); }); 然后執行

cd OniReact

$ gulp

這里task定義了一個gulp的任務,當在執行gulp時會默認執行default,若要執行其他的任務可以使用$ gulp taskName 如此處使用gulp default將執行一樣的內容

接下來編寫真正的項目可用的gulp任務。

這里先安裝vinyl-source-stream,它使得我們能夠同時使用browserify和gulp。(詳細查看www.npmjs.com/package/vinyl-source-stream)

cd?OniReact

$ npm install --save-dev?vinyl-source-stream

在gulpfile.js中修改:

var gulp = require('gulp');var browserify = require('browserify');var babelify = require('babelify');var source = require('vinyl-source-stream');gulp.task('default', function () { return browserify('./source/app.js').transform(babelify).bundle().pipe(source('oni.js')).pipe(gulp.dest('./build/')) });

簡單說明:使用browserify從app.js,同時會根據require的關聯關系,加入其它的文件,再其它文件中也會加入關聯文件。

?

? ? ? ? ? ? ? ? ? ?使用babelify解析jsx

? ? ? ? ? ? ? ? ? ?編譯

? ? ? ? ? ? ? ? ? 輸出文件名

? ? ? ? ? ? ? ? ? ?輸出路徑

執行下面命令:

cd?OniReact

$ gulp

會在build下生成一個oni.js文件。當前只有模塊的內容,代碼都是混淆過得,但是這里是沒有執行混淆的。這里需要注意,等往app.js里面寫點內容之后就能看出差別了。

九、創建React項目

1、創建html

在OniReact/build目錄下創建indexhtml文件,引用生成后的js文件,添加一個div節點,用來綁定react項目。

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>OniReact</title> </head> <body> <div id="oni_app_react"></div> <script src="oni.js"></script> </body> </html>

2、安裝React

?

cd?OniReact

$ npm install --save-dev react react-dom

在OniReact/source/app.js中鍵入

var React = require('react');var ReactDOM = require('react-dom');var helloWord = React.createElement('h1',{className:'header'},'Hello Word');ReactDOM.render(helloWord, document.getElementById('oni_app_react'));

執行命令

?

cd?OniReact

$ ?gulp

運行html。(后續會寫web服務)

在界面中查看

到此本節課的內容全部講解完畢,關于以上內容有不了解的地方,可以通過評論的方式,留言,我會給出參考文獻鏈接。

項目地址:https://git.oschina.net/xiaohuOni/OniReact-Demo

SVN地址:svn://git.oschina.net/xiaohuOni/OniReact-Demo

轉載于:https://www.cnblogs.com/zrbfree/p/5955561.html

總結

以上是生活随笔為你收集整理的160921、React入门教程第一课--从零开始构建项目的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 婷婷精品进入 | 亚洲AV无码久久精品色三人行 | 久久久天堂国产精品女人 | 欧美一区二区区 | av免费观看网 | 久久免费视频1 | 欧美一卡二卡三卡 | 欧美日韩国产一区二区三区在线观看 | 亚洲综合久久网 | 午夜色网 | 国产女人呻吟高潮抽搐声 | 欧美黄色大片免费观看 | 黄色一级视频免费看 | 在线观看无码精品 | 四虎网站在线播放 | 成人试看120秒体验区 | 国产超碰av| 久久人人爽人人爽人人片亚洲 | 国产乱淫av麻豆国产 | 一级免费视频 | 亚州欧美在线 | 波多野结衣av一区二区全免费观看 | 久久在草 | 欧美日韩一区二区三区四区五区 | 国产小视频免费 | 日韩精品极品视频免费观看 | 999久久久国产精品 韩国精品一区二区 | bl动漫在线观看 | 久久免费观看视频 | 久久精品老司机 | 亚洲av无码成人精品区 | 99久久黄色| 国产农村妇女aaaaa视频 | 毛片免费在线观看视频 | 国产高清免费在线观看 | 中文字幕一区二区三区免费 | 日韩一卡二卡三卡四卡 | 性福网站 | 久久99精品国产麻豆婷婷 | 制服丝袜一区二区三区 | 狼色网| 26uuu亚洲国产精品 | 国产性猛交xxxⅹ交酡全过程 | 亚洲欧美日本另类 | 欧美中文字幕第一页 | 毛片在线视频观看 | 欧美黑人多人双交 | 色婷婷av一区二区三区软件 | 国产精品毛片一区视频播 | 国产精品videossex国产高清 | 国产精品无码成人片 | 亚洲成人免费在线视频 | 亚洲黑丝在线 | 午夜精品一区二区在线观看 | 黄色网免费观看 | 成人免费版欧美州 | 亚洲成a人在线观看 | 长河落日电视连续剧免费观看01 | 亚洲a∨无码无在线观看 | 午夜av一区二区 | 国产在线一区二区三区四区 | 骚虎视频在线观看 | 2024国产精品 | 久久精品无码专区免费 | 亚洲爆乳无码一区二区三区 | 九草影院 | av免费在线网站 | av五月| 99成人在线观看 | 诱惑av| 成人av免费在线观看 | 精品在线一区二区三区 | 中文字幕在线播放一区二区 | 黄色网址在线免费看 | 狠狠插影院 | av啊啊 | 日韩欧美日韩 | 成人精品一区二区三区电影 | 丁香花电影在线观看免费高清 | 欧美男女交配 | 好吊视频一区 | 久久丫精品忘忧草西安产品 | 午夜两性 | 亚洲福利专区 | 日本一区免费 | 欧美三级网 | 亚洲阿v天堂 | 大尺度电影在线 | 深夜视频一区二区 | 羞羞免费视频 | 国产精选自拍 | 国产经典一区 | 久艹av | 丁香婷婷六月 | 内射后入在线观看一区 | 春色av| avtt久久| 日本一级淫片免费放 | 中文字幕精品无码亚 |