如何設(shè)置React畅蹂,webpack 4和Babel 7(2018 最新教程 )

感謝原文鏈接?https://www.valentinog.com/blog/react-webpack-babel/

源碼 可以查看github地址? https://github.com/rayyuan90/webpack-with-react-


目錄

如何建立React岳锁,的WebPack和Babel:你將學(xué)到什么

如何建立React宣虾,的WebPack和Babel:建立項(xiàng)目

如何建立React畜份,的WebPack和Babel:設(shè)立的WebPack

如何建立React玄叠,的WebPack和Babel:建立Babel

如何建立React,的WebPack和Babel:寫作React的組分

如何建立React摆马,的WebPack和Babel:在HTML的WebPack插件

如何建立React臼闻,的WebPack和Babel:的WebPack開發(fā)服務(wù)器

如何建立React,的WebPack和Babel:結(jié)束了

如何建立React囤采,的WebPack和Babel:你將學(xué)到什么

如何安裝和配置的WebPack

如何安裝和配置通天塔

如何安裝陣營

如何創(chuàng)建兩個(gè)按照集裝箱/表象原則React的組分

如何將得到的束到HTML頁面

如何安裝和配置的WebPack開發(fā)服務(wù)器

應(yīng)對(duì)不限于完全成熟的SPA述呐。這是可能的庫集成到任何現(xiàn)有的網(wǎng)站。

React可以在任何一個(gè)CDN或一個(gè)模塊捆綁拉蕉毯。

對(duì)于大多數(shù)我的項(xiàng)目我使用的WebPack:結(jié)合React乓搬,是的WebPack容易,因?yàn)橐患p而易舉的事代虾。

你可以這樣做进肯,有一個(gè)工作的WebPack 4?-在幾分鐘內(nèi)做出React的環(huán)境:這里是給你一個(gè)簡短的教程。

如何建立 react褐着,WebPack和Babel:建立項(xiàng)目

通過創(chuàng)建項(xiàng)目的目錄開始:mkdir webpack-react-tutorial && cd webpack-react-tutorial

用于固定代碼創(chuàng)建一個(gè)最小的目錄結(jié)構(gòu):mkdir -p src

Inizialize通過運(yùn)行項(xiàng)目:npm init -y

開始吧坷澡。

如何建立React,WebPack和Babel的項(xiàng)目

WebPack是現(xiàn)代Web發(fā)展的支柱之一含蓉。這是一個(gè)令人難以置信的強(qiáng)大的工具频敛。

如何使用的WebPack是與React工作的根本。

WebPack攝取原React的組分用于生產(chǎn)JavaScript代碼(幾乎)所有瀏覽器都能理解馅扣。

讓我們通過運(yùn)行安裝:npm i webpack --save-dev

您還需要 WebPack-CLI 運(yùn)行npm~命令:npm i webpack-cli --save-dev

接下來在添加?webpack命令 到 package.json:

"scripts": {

? "build": "webpack --mode production"

}

在這一點(diǎn)上斟赚,沒有必要定義配置文件的WebPack。

年長的WebPack的版本并自動(dòng)尋找的配置文件差油。

以來第4版已不再的情況下:您可以開始開發(fā)straigh了拗军。

在下一節(jié)中,我們將安裝和transpiling我們的代碼配置通天塔蓄喇。

如何建立React发侵,的WebPack和Babel:建立Babel

React的組分大多以JavaScript寫成ES6。

因?yàn)樗麄內(nèi)ツ抢锸切枰撤N變換的瀏覽器不能理解React的組分妆偏。

的WebPack不知道如何進(jìn)行轉(zhuǎn)型刃鳄,但它有裝載機(jī)的概念:認(rèn)為他們作為變壓器。

一的WebPack裝載機(jī)需要的東西作為輸入钱骂,并產(chǎn)生別的東西作為輸出叔锐。

巴貝爾裝載機(jī)Babel裝載機(jī)是的WebPack裝載機(jī)負(fù)責(zé)獲取在ES6代碼挪鹏,使之理解的首選瀏覽器。

ObsviuslyBabel-loaderbabel-loadermakes使用通天愉烙。而Babel必須配置為使用一串預(yù)設(shè)的:

Babel?preset?ENV 編譯的Javascript代碼ES6下降到ES5(請(qǐng)注意讨盒,Babel預(yù)設(shè)-ES2015現(xiàn)在已經(jīng)過時(shí))

Babel??preset?React 編譯JSX和其他的東西下來的Javascript

讓我們把與依賴關(guān)系 dependencies?加入項(xiàng)目 執(zhí)行:npm i @babel/core babel-loader @babel/preset-env @babel/preset-react --save-dev

不要忘了配置Babel!創(chuàng)建一個(gè)名為.babelrc 文件在項(xiàng)目文件夾中:

{

? "presets": ["@babel/preset-env", "@babel/preset-react"]

}

在這一點(diǎn)上我們就可以界定一個(gè)最小的WebPack配置步责。

創(chuàng)建一個(gè)名為webpack.config.js 文件填補(bǔ)像以下文件:

module.exports = {

? module: {

? ? rules: [

? ? ? {

? ? ? ? test: /\.js$/,

? ? ? ? exclude: /node_modules/,

? ? ? ? use: {

? ? ? ? ? loader: "babel-loader"

? ? ? ? }

? ? ? }

? ? ]

? }

};

配置是相當(dāng)簡單的返顺。

對(duì)于具有.js.jsextension的WebPack管道通過通天塔-? loaderbabel加載器的代碼轉(zhuǎn)化器ES6下降到ES5每個(gè)文件。

有了這個(gè)地方勺择,我們已經(jīng)準(zhǔn)備好寫我們的React的組分创南。

讓我們頭以上下一節(jié)。

如何建立React省核,的WebPack和Babel:寫作React的組分

我喜歡寫我按照集裝箱/表象原則React的組分稿辙。

我建議考慮看看容器組件聰明和愚蠢的組件由丹·阿布拉莫夫?qū)W習(xí)更多。

總之气忠,集裝箱/表象原則是React的組分的模式邻储。

該容器組件是攜帶所有的邏輯的一個(gè):用于處理狀態(tài)的變化,內(nèi)部組件狀態(tài)等的功能旧噪。

在對(duì)比度的表象的部件僅僅是用于顯示所期望的標(biāo)記吨娜。表象組分通常是純箭頭功能和從所述容器部件作為接收數(shù)據(jù)道具

你會(huì)看到他們是怎么看起來像下面的例子淘钟。

對(duì)于這個(gè)職位的范圍宦赠,我想建立一個(gè)超級(jí)簡單的形式做出React具有單個(gè)文本輸入。

觸摸之前的任何代碼米母,讓我們?cè)谶\(yùn)行:

npm i react react-dom --save-dev

然后創(chuàng)建組織的組件最小目錄結(jié)構(gòu):

mkdir -p src/js/components/{container,presentational}

接下來勾扭,讓我們創(chuàng)建一個(gè)容器組件:

有它自己的狀態(tài)

渲染HTML表單

創(chuàng)建組件到SRC / JS /組件/容器/ SRC / JS /組件/容器/:

觸摸的src / JS /組件/容器/ FormContainer.js

觸摸的src /

? ? JS /組件/容器/? ? FormContainer.js

觸摸的src / JS /組件/容器/ FormContainer.js

該組件將如下所示:

進(jìn)口反應(yīng),{元器件}從“反應(yīng)”;

從 “反應(yīng)-DOM” 進(jìn)口ReactDOM;


類FormContainer延伸元器件{

? 構(gòu)造(){

??? 超();


??? this.state = {

????? 標(biāo)題:“”

??? };

? }


? 渲染(){

??? 返回(

????? <表格ID =“文章形式”>


??? );

? }

}


出口默認(rèn)FormContainer;

進(jìn)口React铁瞒,{元器件}從“React”;

進(jìn)口 ReactDOM從“React-DOM”;


類 FormContainer擴(kuò)展組件{

構(gòu)造(){

超();


this.state= {

標(biāo)題:“”

};

}


渲染(){

返回(

<表格ID =“文章形式”>

</形式>

);

}

}


出口默認(rèn)FormContainer;

進(jìn)口反應(yīng)妙色,{元器件}從“反應(yīng)”;

從 “反應(yīng)-DOM” 進(jìn)口ReactDOM;


類FormContainer延伸元器件{

? 構(gòu)造(){

??? 超();


??? this.state = {

????? 標(biāo)題:“”

??? };

? }


? 渲染(){

??? 返回(

????? <表格ID =“文章形式”>


??? );

? }

}


出口默認(rèn)FormContainer;

該組件什么也不做,在這一刻慧耍。它只是結(jié)束了子組件的骨架身辨。

實(shí)際上,如果沒有它的表象子容器組件幾乎是無用的芍碧。

讓我們來解決這個(gè)問題煌珊。

創(chuàng)建的src / JS /組件/表象/ src目錄中的新組件/ JS /組件/表象/:

觸摸的src / JS /組件/表象/ Input.js

觸摸的src /

? ? JS /組件/表象/ Input.js

觸摸的src / JS /組件/表象/ Input.js

我們的第一個(gè)表象作出React組件將是一個(gè)文字輸入。我們知道泌豆,一個(gè)HTML輸入采用以下屬性:

類型

ID

需要

所有這些都將成為道具定庵,容器組件將傳承給其表象的孩子。

由于輸入擁有自己的狀態(tài),我們必須確保陣營將照顧它洗贰。一個(gè)HTML輸入變?yōu)?a target="_blank" rel="nofollow">在陣營控制的部件。

說起道具陨倡,這是很好的做法與記錄您的React的組分道具類型敛滋。

通過運(yùn)行安裝包:

NPM我丙種--save-dev的

NPM我丙種--save-dev的

NPM我丙種--save-dev的

回React,我們的表象成分為HTML的輸入將如下所示:

進(jìn)口從“反應(yīng)”反應(yīng);

從“道具類型”進(jìn)口PropTypes;


常量輸入=({標(biāo)簽兴革,文本绎晃,類型,識(shí)別符杂曲,值庶艾,handleChange})=>(


??? <標(biāo)簽htmlFor = {標(biāo)簽}> {文本} </標(biāo)簽>

??? <輸入

????? 類型= {}類型

????? 類名=“形式控制”

????? ID = {ID}

????? 值= {}值

????? 的onChange = {handleChange}

????? 需要

??? />


);


Input.propTypes = {

? 標(biāo)簽:PropTypes.string.isRequired,

? 文本:PropTypes.string.isRequired擎勘,

? 類型:PropTypes.string.isRequired咱揍,

? ID:PropTypes.string.isRequired,

? 值:PropTypes.string.isRequired棚饵,

? handleChange:PropTypes.func.isRequired

};


出口默認(rèn)輸入;

進(jìn)口從“React”React;

進(jìn)口從“道具類型” PropTypes;


常量輸入=({標(biāo)簽煤裙,文本,類型噪漾,識(shí)別符硼砰,值,handleChange})=>(

<格的className =“形式的基團(tuán)”>

<標(biāo)簽htmlFor = {標(biāo)簽}> {文本} </標(biāo)簽>

<輸入

類型= {}類型

類名=“形式控制”

ID =? ? {ID}

值= {}值

的onChange? ? = {handleChange}

需要

/>

</DIV>

);


Input.propTypes? ? = {

標(biāo)簽:PropTypes.string.isRequired欣硼,

文本:PropTypes.string.isRequired题翰,

類型:PropTypes.string.isRequired,

ID:PropTypes.string.isRequired诈胜,

值:PropTypes.string.isRequired豹障,

handleChange:PropTypes.func.isRequired

};


出口默認(rèn)的輸入;

進(jìn)口從“反應(yīng)”反應(yīng);

從“道具類型”進(jìn)口PropTypes;


常量輸入=({標(biāo)簽,文本耘斩,類型沼填,識(shí)別符,值括授,handleChange})=>(


??? <標(biāo)簽htmlFor = {標(biāo)簽}> {文本} </標(biāo)簽>

??? <輸入

????? 類型= {}類型

????? 類名=“形式控制”

????? ID = {ID}

????? 值= {}值

????? 的onChange = {handleChange}

????? 需要

??? />


);


Input.propTypes = {

? 標(biāo)簽:PropTypes.string.isRequired坞笙,

? 文本:PropTypes.string.isRequired,

? 類型:PropTypes.string.isRequired荚虚,

? ID:PropTypes.string.isRequired薛夜,

? 值:PropTypes.string.isRequired,

? handleChange:PropTypes.func.isRequired

};


出口默認(rèn)輸入;

在這一點(diǎn)上版述,我們就可以更新我們的容器組件梯澜,包括文本輸入:

進(jìn)口反應(yīng),{元器件}從“反應(yīng)”;

從 “反應(yīng)-DOM” 進(jìn)口ReactDOM;

從“../presentational/Input”進(jìn)口輸入;


類FormContainer延伸元器件{

? 構(gòu)造(){

??? 超();


??? this.state = {

????? seo_title:“”

??? };


??? this.handleChange = this.handleChange.bind(本);

? }


? handleChange(事件){

??? this.setState({[event.target.id]:event.target.value});

? }


? 渲染(){

??? 常量{seo_title} = this.state;

??? 返回(

????? <表格ID =“文章形式”>

??????? <輸入

????????? 文字=“搜索引擎優(yōu)化稱號(hào)”

????????? 標(biāo)簽= “seo_title”

????????? 類型=“文本”

????????? ID = “seo_title”

????????? 值= {seo_title}

????????? handleChange = {this.handleChange}

??????? />


??? );

? }

}


出口默認(rèn)FormContainer;

進(jìn)口React渴析,{元器件}從“React”;

進(jìn)口 ReactDOM從“React-DOM”;

進(jìn)口從“../presentational/Input”輸入;


類 FormContainer擴(kuò)展組件{

構(gòu)造(){

超();


this.state= {

seo_title:“”

};


this.handleChange =

? ? this.handleChange.bind(本);

}


handleChange(事件){

this.setState({ [event.target.id]:event.target.value});

}


渲染(){

常量{seo_title} = this.state;

返回(

<表格ID =“文章形式”>

<輸入

文字=“搜索引擎優(yōu)化稱號(hào)”

標(biāo)簽=? ? “seo_title”

類型=“文本”

ID =? ? “seo_title”

值=? ? {seo_title}

handleChange? ? = {this.handleChange}

/>

</形式>

);

}

}


出口默認(rèn)FormContainer;

進(jìn)口反應(yīng)晚伙,{元器件}從“反應(yīng)”;

從 “反應(yīng)-DOM” 進(jìn)口ReactDOM;

從“../presentational/Input”進(jìn)口輸入;


類FormContainer延伸元器件{

? 構(gòu)造(){

??? 超();


??? this.state = {

????? seo_title:“”

??? };


??? this.handleChange = this.handleChange.bind(本);

? }


? handleChange(事件){

??? this.setState({[event.target.id]:event.target.value});

? }


? 渲染(){

??? 常量{seo_title} = this.state;

??? 返回(

????? <表格ID =“文章形式”>

??????? <輸入

????????? 文字=“搜索引擎優(yōu)化稱號(hào)”

????????? 標(biāo)簽= “seo_title”

????????? 類型=“文本”

????????? ID = “seo_title”

????????? 值= {seo_title}

????????? handleChange = {this.handleChange}

??????? />


??? );

? }

}


出口默認(rèn)FormContainer;

時(shí)間連線的事情了吮龄。

預(yù)計(jì)的WebPack切入點(diǎn)是./src/index.js./src/index.js

創(chuàng)建./src/index.js./src/index.jsand放置一個(gè)import指令到它需要容器組件:

進(jìn)口FormContainer從“./js/components/container/FormContainer”;

進(jìn)口 FormContainer從“./js/components/container/FormContainer”;

進(jìn)口FormContainer從“./js/components/container/FormContainer”;

有了這個(gè)地方,我們已經(jīng)準(zhǔn)備好運(yùn)行創(chuàng)造我們的包:

NPM運(yùn)行構(gòu)建

NPM運(yùn)行構(gòu)建

NPM運(yùn)行構(gòu)建

給的WebPack第二咆疗,看包來的生活漓帚!

束將被放置到

./dist/main.js

./dist/main.js

./dist/main.js

現(xiàn)在,讓我們把我們做出React的實(shí)驗(yàn)生活由包括捆綁到HTML頁面午磁。

如何建立React尝抖,的WebPack和Babel:在HTML的WebPack插件

為了顯示我們的形式作出React,我們必須告訴的WebPack生成一個(gè)HTML頁面迅皇。將所得的束將放在一個(gè)<SCRIPT> </

SCRIPT> <SCRIPT> </ SCRIPT>標(biāo)記內(nèi)昧辽。

Webpacks需要處理HTML另外兩個(gè)組成部分:HTML-的WebPack-插件HTML裝載機(jī)

添加依賴與:

NPM我的HTML的WebPack-插件HTML裝載機(jī)--save-dev的

NPM我的HTML的WebPack-插件HTML裝載機(jī)--save-dev的

NPM我的HTML的WebPack-插件HTML裝載機(jī)--save-dev的

然后更新的WebPack配置:

常量HtmlWebPackPlugin =需要( “HTML-的WebPack-插件”);


module.exports = {

? 模塊:{

??? 規(guī)則:

????? {

??????? 測試:/\.js$/登颓,

??????? 排除:/ node_modules /搅荞,

??????? 使用:{

????????? 裝載機(jī):“巴別塔裝載機(jī)”

??????? }

????? },

????? {

??????? 測試:/\.html$/挺据,

??????? 使用:[

????????? {

??????????? 裝載機(jī):“HTML裝載機(jī)”

????????? }

??????? ]

????? }

??? ]

? }取具,

? 插件:

??? 新HtmlWebPackPlugin({

????? 模板:“./src/index.html”

????? 文件名:“./index.html”

??? })

? ]

};

常量 HtmlWebPackPlugin =需要( “HTML-的WebPack-插件”);


module.exports? ? = {

模塊:{

規(guī)則:

{

測試:/\.js$/,

排除:/

? ? node_modules /扁耐,

使用:{

裝載機(jī):“巴別塔裝載機(jī)”

}

}暇检,

{

測試:/\.html$/,

使用:[

{

裝載機(jī):“HTML裝載機(jī)”

}

]

}

]

}婉称,

插件:

新 HtmlWebPackPlugin({

模板:“./src/index.html”

文件名:“./index.html”

})

]

};

常量HtmlWebPackPlugin =需要( “HTML-的WebPack-插件”);


module.exports = {

? 模塊:{

??? 規(guī)則:

????? {

??????? 測試:/\.js$/块仆,

??????? 排除:/ node_modules /,

??????? 使用:{

????????? 裝載機(jī):“巴別塔裝載機(jī)”

??????? }

????? }王暗,

????? {

??????? 測試:/\.html$/悔据,

??????? 使用:[

????????? {

??????????? 裝載機(jī):“HTML裝載機(jī)”

????????? }

??????? ]

????? }

??? ]

? },

? 插件:

??? 新HtmlWebPackPlugin({

????? 模板:“./src/index.html”

????? 文件名:“./index.html”

??? })

? ]

};

接下來reate一個(gè)HTML文件到./src/index.html./src/index.html(feel自由使用你喜歡的任何CSS庫):

<俗壹!DOCTYPE HTML>

<HTML語言= “EN”>


??? <元的charset = “UTF-8”>

??? <鏈路的rel = “樣式表的” href = “https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css”>

??? 如何設(shè)置反應(yīng)科汗,的WebPack,和巴別</ TITLE>







創(chuàng)建一個(gè)新的文章


??????????????????? <绷雏! - 表- >










<头滔!DOCTYPE HTML>

<HTML 郎= “EN”>


<HEAD>

<元字符集= “UTF-8”>

<鏈接的rel = “樣式表的” href =? ? “https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css”>

<TITLE>如何建立React,的WebPack和Babel

</ HEAD>


<BODY>

<DIV 類=“容器”>

<DIV 類= “行MT-5”>

<DIV 類= “COL-MD-4偏移-MD-1”>

<P>創(chuàng)建一個(gè)新的文章

<DIV ID = “創(chuàng)建-文章形式”>

<涎显! - 表 -

? ? >

</ DIV>


</ DIV>


</ DIV>

</ DIV>

</ BODY>


</ HTML>

<坤检!DOCTYPE HTML>

<HTML語言= “EN”>


??? <元的charset = “UTF-8”>

??? <鏈路的rel = “樣式表的” href = “https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css”>

??? 如何設(shè)置反應(yīng),的WebPack期吓,和巴別</ TITLE>







創(chuàng)建一個(gè)新的文章


??????????????????? <早歇! - 表- >










最后一件事是失蹤了!我們要告訴我們的陣營組件本身掛鉤到<DIV ID = “創(chuàng)建-文章形式”> </ DIV> <DIV ID = “創(chuàng)建-文章形式”> </ div>上。

打開./src/js/components/container/FormContainer.js./src/js/components/container/FormContainer.jsand添加以下的文件的底部:

常量包裝=的document.getElementById( “創(chuàng)建-物品形式”);

包裝器箭跳?ReactDOM.render(<FormContainer />晨另,包裝器):假;

常量包裝=的document.getElementById( “創(chuàng)建-物品形式”);

包裝器?ReactDOM.render(<FormContainer />谱姓,包裝器):假;

常量包裝=的document.getElementById( “創(chuàng)建-物品形式”);

包裝器拯刁?ReactDOM.render(<FormContainer />,包裝器):假;

關(guān)閉并保存文件逝段。

現(xiàn)在再次運(yùn)行編譯:

NPM運(yùn)行構(gòu)建

NPM運(yùn)行構(gòu)建

NPM運(yùn)行構(gòu)建

看一看在./dist./distfolder。你應(yīng)該可以看到生成的HTML割捅。

隨著的WebPack有沒有需要包括在HTML文件中你的Javascript:捆綁將被自動(dòng)注入到該頁面奶躯。

打開./dist/index.html./dist/index.htmlin您的瀏覽器:你應(yīng)該看到的作出React形式。

如何建立React亿驾,的WebPack和Babel:的WebPack開發(fā)服務(wù)器

你不想打字NPM運(yùn)行buildnpm運(yùn)行更改文件buildevery時(shí)間嘹黔。

只需3配置的線路有一個(gè)開發(fā)服務(wù)器運(yùn)行起來。

一旦配置的WebPack將推出瀏覽器中您的應(yīng)用程序莫瞬。

此外儡蔓,每次保存修改的WebPack WEV服務(wù)器后的文件將自動(dòng)地刷新瀏覽器窗口。

要設(shè)置的WebPack dev的服務(wù)器安裝軟件包:

NPM我的WebPack-DEV-服務(wù)器--save-dev的

NPM我的WebPack-DEV-服務(wù)器--save-dev的

NPM我的WebPack-DEV-服務(wù)器--save-dev的


打開package.jsonpackage.jsonto加入啟動(dòng)腳本:

“腳本”:{

? “開始”: “的WebPack-DEV-服務(wù)器--open --mode發(fā)展”疼邀,

? “建”: “的WebPack”

}

“腳本”:{

“開始”: “的WebPack-DEV-服務(wù)器--open --mode發(fā)展”喂江,

“建立”: “的WebPack”

}

“腳本”:{

? “開始”: “的WebPack-DEV-服務(wù)器--open --mode發(fā)展”,

? “建”: “的WebPack”

}

保存并關(guān)閉文件旁振。

現(xiàn)在获询,通過運(yùn)行:

NPM啟動(dòng)

NPM啟動(dòng)

NPM啟動(dòng)

你應(yīng)該看到的WebPack啟動(dòng)瀏覽器內(nèi)你的應(yīng)用程序。

的WebPack開發(fā)服務(wù)器將自動(dòng)地在每次修改文件刷新窗口拐袜!

如何建立React吉嚣,的WebPack和Babel:結(jié)束了

React大多用于創(chuàng)建單頁的應(yīng)用程序。但它也可以裝到任何網(wǎng)站蹬铺。

通過組合的WebPack和巴別能夠一堆React的組分變換成適合于被分發(fā)束尝哆。

在上述指南中,我們已經(jīng)看到:

如何安裝和配置的WebPack

如何安裝和配置通天塔

如何安裝陣營

如何創(chuàng)建兩個(gè)按照集裝箱/表象原則React的組分

如何將得到的束到HTML頁面

如何安裝和配置的WebPack開發(fā)服務(wù)器

截至去年底甜攀,你應(yīng)該能夠從頭與React秋泄,以及的WebPackBabel開始。

為了更多地了解的WebPack退房的WebPack 4教程赴邻,從零到CONF生產(chǎn)模式印衔。

謝謝閱讀!

原文

教程:如何建立反應(yīng)姥敛,4的WebPack和巴貝爾7(2018)

提供更好的翻譯建議

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末奸焙,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌与帆,老刑警劉巖了赌,帶你破解...
    沈念sama閱讀 222,807評(píng)論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異玄糟,居然都是意外死亡勿她,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門阵翎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來逢并,“玉大人,你說我怎么就攤上這事郭卫】沉模” “怎么了?”我有些...
    開封第一講書人閱讀 169,589評(píng)論 0 363
  • 文/不壞的土叔 我叫張陵贰军,是天一觀的道長玻蝌。 經(jīng)常有香客問我,道長词疼,這世上最難降的妖魔是什么俯树? 我笑而不...
    開封第一講書人閱讀 60,188評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮贰盗,結(jié)果婚禮上许饿,老公的妹妹穿的比我還像新娘。我一直安慰自己舵盈,他們只是感情好米辐,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,185評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著书释,像睡著了一般翘贮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上爆惧,一...
    開封第一講書人閱讀 52,785評(píng)論 1 314
  • 那天狸页,我揣著相機(jī)與錄音,去河邊找鬼扯再。 笑死芍耘,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的熄阻。 我是一名探鬼主播斋竞,決...
    沈念sama閱讀 41,220評(píng)論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼秃殉!你這毒婦竟也來了坝初?” 一聲冷哼從身側(cè)響起浸剩,我...
    開封第一講書人閱讀 40,167評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鳄袍,沒想到半個(gè)月后绢要,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,698評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拗小,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,767評(píng)論 3 343
  • 正文 我和宋清朗相戀三年重罪,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片哀九。...
    茶點(diǎn)故事閱讀 40,912評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡剿配,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出阅束,到底是詐尸還是另有隱情惨篱,我是刑警寧澤,帶...
    沈念sama閱讀 36,572評(píng)論 5 351
  • 正文 年R本政府宣布围俘,位于F島的核電站,受9級(jí)特大地震影響琢融,放射性物質(zhì)發(fā)生泄漏界牡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,254評(píng)論 3 336
  • 文/蒙蒙 一漾抬、第九天 我趴在偏房一處隱蔽的房頂上張望宿亡。 院中可真熱鬧,春花似錦纳令、人聲如沸挽荠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽圈匆。三九已至,卻和暖如春捏雌,著一層夾襖步出監(jiān)牢的瞬間跃赚,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評(píng)論 1 274
  • 我被黑心中介騙來泰國打工性湿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留纬傲,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,359評(píng)論 3 379
  • 正文 我出身青樓肤频,卻偏偏與公主長得像叹括,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子宵荒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,922評(píng)論 2 361