本文目錄一覽:
- 1、怎麼在linux上部署reactjs
- 2、webpack怎麼自動編譯reactjs
- 3、如何學習用Typescript寫Reactjs
- 4、如何使用react-tools將jsx編譯成JavaScript
- 5、如何搭建reactjs開發環境
- 6、如何用reactjs構建一個完整的前端頁面
怎麼在linux上部署reactjs
jsp渲染是服務器端的技術,react是客戶端的技術,這兩個完全是可以共存的,最極端的做法jsp完全不做任何渲染,直接輸出純的html就可以了
webpack怎麼自動編譯reactjs
使用webpack編譯打包react是非常便捷的。這也是人們常用的一種方式。但是在使用過程中,一定要注意一個細節,那就是webpack和babel-loader的安裝位置。
react安裝
當然,使用react必須先安裝react和react-dom,其安裝方式很簡單(前提是我們必須安裝有npm)。
# npm install react react-dom –save
react安裝就這樣簡單,其實react和react-dom就是相當於js類庫。但是我們需要解析器來解析react的語法。
react解析器babel安裝
babel安裝的位置是我們這篇文章的目的。babel有兩種安裝的位置:一種是全局安裝,一種是本地安裝——也就是安裝在項目目錄下的node_modules下。
# npm install babel-core babel-loader babel-preset-react –save-dev
//本地安裝
#npm install babel-core babel-loader babel-preset-react –g
//全局安裝
一般情況下我們選擇本地安裝,這樣便於管理。
打包工具webpack的安裝
同樣,webpack的安裝位置也是這篇文章描述的所要注意的點。當然,它也有兩種安裝的位置:全局安裝和本地安裝。
# npm install webpack –save-dev
//本地安裝
# npm install webpack –g
//全局安裝
如果選擇本地安裝,那麼在使用的時候較麻煩一些,我們需要在命令前加上路徑。所以一般情況下都是全局安裝,這樣就可以在任意位置直接使用。
這裡我們選擇全局安裝。這樣才能出現我們將要說的問題。
webpack配置文件編寫
安裝完webpack以後,下面來編寫webpack配置文件webpack.config.js。這裡我不寫全部,只寫加載loader部分。
代碼一
module:{
loaders: [
{
test: /\.js$/,
loader: ‘babel’,
query:{
presets:[‘react’]
}
}
]
}
編譯過程中出現的錯誤
好了,到了關鍵的地方了。現在我們整個系統的配置是這樣的:babel安裝到本地,webpack安裝到全局位置,webpack配置文件如代碼一所示。
接下來我們就要編譯打包我們的項目。
# webpack
執行該命令以後,你會發現出現如下的錯誤:
ERROR in (webpack)/~/node-libs-browser/~/process/browser.js
Module build failed: Error: Couldn’t find preset “react” relative to
directory
“/node/lib/node_modules/webpack/node_modules/node-libs-browser/node_modules/process”
……
這也就是說找不到babel-preset-react。
好了,說了這麼多終於在這裡引出了我們將要討論的問題(這裡大家不要嫌我啰嗦,為什麼出現這種問題,其原因總要弄清楚。什麼樣的配置會出現這種問題,了解以後才容易上手解決)。
解決問題的方式
出現上述問題以後,我們有這樣三種方式可以解決。
方式一
要解決這個問題很簡單。我們知道,出現這個問題是因為bable和webpack安裝的位置不同,所以找不到babel-preset-react。因為在配置文件中有這樣一段代碼。
query:{
presets:[‘react’]
}
好了,既然知道是安裝位置不同,那我們可以將babel安裝在全局位置,這樣這個問題不就解決了嗎。
#npm remove babel-core babel-loader babel-preset-react –save-dev
//首先移除原先安裝的babel
#npm install babel-core babel-loader babel-preset-react –g
//全局安裝
沒錯,問題解決了。但是我們不推薦使用這種方式。因為這樣不便於管理,所以還是使用其他的方式。
方式二
此種方式和方式一大同小異。方式一是改變babel的安裝位置,而這裡是改變webpack的安裝位置。原先webpack是安裝到全局位置的,所以找不到安裝到本地項目目錄下的babel-preset-react。因此我們可以改變webpack的位置。
# npm remove webpack –g
//移除原先的webpack
# npm install webpack –save-dev
//將webpack安裝到本地位置——也就是項目目錄下的node_modules中
# ln –s /項目根目錄/node_modules/webpack/bin/webpack.js /usr/bin/webpack
//為了使用webpack方便,在這裡我們在/usr/bin目錄下建立軟連接(也就是快捷方式)
//這樣我們就可以在任意位置直接使用webpack命令了。
此時我們已經改變了webpack的安裝位置。現在二者同在項目目錄下安裝。所以可以正確編譯了。
此種方式較方式一,我個人比較推薦這種方式,這樣比較方便管理。但是,這種方式也不是沒有弊端。如果我們有多個項目,那我們就需要在每個項目下都安裝webpack,那豈不是很麻煩。所以這種方式也不是很好。
方式三
該方式應該說是最值得推薦的,因為不需要改變webpack和babel的安裝位置。webpack還是在全局位置,babel還是在本地項目位置下。我們需要做的就是修改webpack的配置文件,在代碼一的基礎上添加一句代碼。
代碼二
module:{
loaders: [
{
test: /\.js$/,
loader: ‘babel’,
exclude:/node_modules/,
query:{
presets:[‘react’]
}
}
]
}
如何學習用Typescript寫Reactjs
1.安裝node,因為ts的編譯器是js/ts寫的;
安裝node後同時獲得npm命令,這是nodejs世界裏的包管理器(也可以看作node的app商店);
2.安裝vs 2015或者vs code,當然這不是必須的,但是這裡強烈推薦寫ts的工具,vs第一,vsc第二;
3.vs自帶了TypeScript(vs2012+,vs2015update1自帶了ts1.7),最新版本的typescript for vs去官網下載即可, 或者如果不依賴vs(比如mac環境), 可以用命令行裝ts編譯器
npm i -g typescript@next
4. 安裝了ts後, 就會有2個命令可用:tsc和tsd, tsc用來編譯TypeScript代碼, tsd用來下載第三方js類庫的ts定義文件(或者叫頭文件),熟練使用tsd,工作效率提升,因為減少了80%查文檔的時間,所以寫ts可以說是jser打通了任督二脈,上手任何新的開發環境都很快。
如何使用react-tools將jsx編譯成JavaScript
使用react-tools將jsx編譯成JavaScript方法:
1,通過npm安裝react-tools
npm –g react-tools
2,通過cmd進入項目根目錄執行watch命令 jsx –watch src/ build/
src路徑下存放的是jsx文件,編譯後的js存放到build路徑下
3,當目標文件變化以後,自動構建生成新的js文件。
如何搭建reactjs開發環境
1、下載源碼 通過搜索引擎找到CVS的源代碼包,也可以從CVS的官方網站cvshome.org上尋找,由於CVS歷史上也出現過一些安全漏洞,所以建議要定期去其官方網站上看看有沒有最新版本推出。 2、編譯安裝 [root@terry src]# tar -xjpvf cvs-1.12.5.tar
如何用reactjs構建一個完整的前端頁面
用reactjs構建一個完整的前端頁面的步驟:
準備:React 的安裝包,建議去官網下載安裝
1、使用 React 的網頁源碼,結構大致如下:
!DOCTYPE htmlhtml head script src=”../build/react.js”/script script src=”../build/react-dom.js”/script script src=”../build/browser.min.js”/script /head body div id=”example”/div script type=”text/babel” // **用戶代碼 ** /script /body/html
上面代碼有兩個地方需要注意。
首先,最後一個 script 標籤的 type 屬性為 text/babel 。這是因為 React 獨有的 JSX 語法,跟 JavaScript 不兼容。凡是使用 JSX 的地方,都要加上 type=”text/babel” 。
其次,上面代碼一共用了三個庫: react.js 、react-dom.js 和 Browser.js ,它們必須首先加載。其中,react.js 是 React 的核心庫,react-dom.js 是提供與 DOM 相關的功能,Browser.js 的作用是將 JSX 語法轉為 JavaScript 語法,這一步很消耗時間,實際上線的時候,應該將它放到服務器完成。
2、將 src 子目錄的 js 文件進行語法轉換,轉碼後的文件全部放在 build 子目錄。
$ babel src –out-dir build
3、渲染轉換成html節點,以方便操作dom:
ReactDOM.render 是 React 的最基本方法,用於將模板轉為 HTML 語言,並插入指定的 DOM 節點。
這裡以插入hello world為例來說明
ReactDOM.render( h1Hello, world!/h1, document.getElementById(‘example’));
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/258110.html