1、介紹一下LiveReload:css
LiveReload monitors changes in the file system. As soon as you save a file, it is preprocessed as needed, and the browser is refreshed.html
Even cooler, when you change a CSS file or an image, the browser is updated instantly without reloading the page.node
大意就是說,使用liveReload以後呢,當咱們在咱們的css或者html文件修改後,在瀏覽器上會自動更新頁面,省去了咱們本身去刷新頁面的過程。react
2、環境基礎jquery
已經安裝nodejs,nodejs的安裝再也不贅述。git
3、安裝開始npm
一、若是沒有git環境,則先安裝git環境,若是已經安裝好了git的,從第4部開始。附上git安裝,首先下載git https://code.google.com/p/msysgit/downloads/list gulp
二、安裝git,記得以下頁面必定要選第二個bootstrap
三、一直next下去,直到安裝;而後把安裝後的git的bin、cmd所在位置以及nodejs的node_module,之間以英文字符分隔,寫進系統環境變量裏,記得是系統環境變量。否則待會兒會報錯哦!瀏覽器
四、安裝了git環境後(若是有git環境,忽略1-3步驟),接下來安裝Bower(bower能夠對第三方模塊進行統一的版本管理或者迭代)
五、使用包管理器npm命令
npm install bower -g
六、安裝reactjs,在本身的項目工程下,假設是文件夾路徑是在f:盤,reactjs文件夾>envbuild文件夾
bower install react
如果出現這樣的界面,說明安裝成功
七、安裝jsx解釋器,(在命令行中經過bower install babel安裝,並在script標籤中引入babel下的browser.min.js文件),JSX語句所在的<script>標籤設定text/babel類型"。
bower install babel
到這裏的話,咱們的萬里長征就完成了一小步啦,如今來檢驗咱們在這一階段的小成果啦!
八、根據個人文件目錄,引用在react文件夾下的三個js文件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>hello React</title> <script src="../../bower_components/react/react.min.js"></script> <script src="../../bower_components/react/react-dom.js"></script> <script src="../../bower_components/babel/browser.min.js"></script> </head> <body> <div id="example"></div> <script type="text/babel"> //jsx var HelloWorld = React.createClass({ render:function(){ return (<p>hello world</p>); } }); ReactDOM.render(<HelloWorld />,document.getElementById('example')); </script> </body> </html>
在瀏覽器運行,若是你看到以下的內容,那就恭喜你,你的react已經可使用了。具體的react語法見官方的文檔哦!http://reactjs.cn/
九、同時,咱們也能夠經過bower命令安裝各類生產環境,好比bootstrap、jquery等等,bower install XXX --save
十、react成功裝上以後,咱們接着來看怎麼將gulp與LiveReload結合在一塊兒幫助咱們的開發,LiveReload首先須要去谷歌Chrome瀏覽器LiveReload chromo網上應用商店,怎麼去呢?
點擊如圖,更多工具-->擴展程序,而後在搜索框中輸入LiveReload,而且將其添加到chromo,以後,如圖:
而後就會在瀏覽器的上邊欄出現一個空心圓旋轉的標誌
十一、好了,安裝好後,接下的任務是,全局安裝咱們的npm livereload了
十二、安裝成功後,接下來再安裝gulp的一些插件,也是在命令行,去到本身的的工程目錄下,安裝本身能用獲得的一些插件,例如:
npm install --save-dev gulp gulp-connect gulp-browserify gulp-concat等等的一些插件
十二、如今在工程目錄下創建一個gulpfile.js文件,
1三、打開gulpfile.js文件,內容以下:watch後面的路徑就是你須要監視的文件的路徑,就是說,你須要他一改變,就須要更新,待會兒我會在app-->html下創建一個html頁面,來簡單地測試一下
1 var gulp = require('gulp'), 2 connect = require('gulp-connect'), 3 browserify = require('gulp-browserify'), 4 concat = require('gulp-concat'), 5 port = process.env.port || 5000; 6 7 gulp.task('browserify',function(){ 8 gulp.src('./app/js/main.js') 9 .pipe(browserify({ 10 transform: 'reactify', 11 })) 12 .pipe(gulp.dest('./dist/js')) 13 }); 14 15 // live reload 16 gulp.task('connect',function(){ 17 connect.server({ 18 // root:'./', 19 port: port, 20 livereload: true, 21 }) 22 }) 23 24 // reload Js 25 gulp.task('js',function(){ 26 gulp.src('./dist/**/*.js') 27 .pipe( connect.reload() ) 28 }) 29 30 gulp.task('html',function(){ 31 gulp.src('./app/**/*.html') 32 .pipe( connect.reload() ) 33 }); 34 35 gulp.task('watch',function(){ 36 gulp.watch('./dist/**/*.js',['js']); 37 gulp.watch('./app/**/*.html',['html']); 38 gulp.watch('./app/js/**/*.js',['browserify']); 39 }) 40 41 gulp.task('default',['browserify']); 42 43 gulp.task('serve',['browserify','connect','watch']);
1四、我在項目工程文件夾下,創建了個app文件夾,再建了個html文件夾,裏面放上以前的html代碼,來檢測是否有生效(注意:文件要在gulp的監視watch範圍以內哦)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>hello React</title> <script src="../../bower_components/react/react.min.js"></script> <script src="../../bower_components/react/react-dom.js"></script> <script src="../../bower_components/babel/browser.min.js"></script> </head> <body> <div id="example"></div> <script type="text/babel"> //jsx var HelloWorld = React.createClass({ render:function(){ return (<p>hello world</p>); } }); ReactDOM.render(<HelloWorld />,document.getElementById('example')); </script> </body> </html>
1五、cmd打開命令行,到項目文件夾下,輸入gulp serve啓動服務,如圖,服務啓動成功:
1六、好的,最後咱們在咱們的hello.html中,咱們作一點小小的修改,好比:
1七、接下來,就是見證奇蹟的時刻啦,在咱們按保存咱們對hello.html修改的同時,咱們到chromo瀏覽器的hello.html頁面,沒有按F5刷新哦,他自動就將內容改成了:
1八、來,咱們來看咱們此時的瀏覽器livereload圖標,已經由空心的,變爲實心了。以下圖。若是可以自動刷新,就說明咱們的生產環境安裝成功了哦!
最後,昨天折騰了一下午,終於完成了,記錄下過程,怕之後本身忘記,若是能萬幸幫助到你們,那也是再好不過啦。若是有什麼問題或者錯誤,請留言評論哦。