欧美成人精品第一区二区三区,-亚洲综合偷拍欧美一区色-少妇亚洲一区二区19p-少妇3p欧美一区二区三区

前端硬件開發(fā)環(huán)境與生產(chǎn)測試環(huán)境的區(qū)別

2018-11-23 14:31:21分類:硬件開發(fā)7694

開發(fā)環(huán)境:開發(fā)環(huán)境是程序猿們專門用于開發(fā)的服務(wù)器,配置可以比較隨意, 為了開發(fā)調(diào)試方便,一般打開全部錯誤報告。

測試環(huán)境:一般是克隆一份生產(chǎn)環(huán)境的配置,一個程序在測試環(huán)境工作不正常,那么肯定不能把它發(fā)布到生產(chǎn)機(jī)上。

生產(chǎn)環(huán)境:是值正式提供對外服務(wù)的,一般會關(guān)掉錯誤報告,打開錯誤日志。

三個環(huán)境也可以說是系統(tǒng)開發(fā)的三個階段:開發(fā)->測試->上線,其中生產(chǎn)環(huán)境也就是通常說的真實環(huán)境。相關(guān)文章:《項目中的軟硬件開發(fā)環(huán)境與工具指的是什么?

開發(fā)環(huán)境與生產(chǎn)環(huán)境分離的原因如下:

在開發(fā)時,不可避免會產(chǎn)生大量debug又或是測試的代碼,這些代碼不應(yīng)出現(xiàn)在生產(chǎn)環(huán)境中(也即不應(yīng)提供給用戶)。

在把頁面部署到服務(wù)器時,為了追求極致的技術(shù)指標(biāo),我們會對代碼進(jìn)行各種各樣的優(yōu)化,比如說混淆、壓縮,這些手段往往會徹底破壞代碼本身的可讀性,不利于我們進(jìn)行debug等工作。
 

前端硬件的開發(fā)環(huán)境
 

數(shù)據(jù)源的差異化,比如說在本地開發(fā)時,讀取的往往是本地mock出來的數(shù)據(jù),而正式上線后讀取的自然是API提供的數(shù)據(jù)了。

如果硬是要在開發(fā)環(huán)境和生產(chǎn)環(huán)境用完全一樣的代碼,

那么必然會付出沉重的代價,這點想必也不用多說了。

─webpack.config.js# 生產(chǎn)環(huán)境的webpack配置文件(無實質(zhì)內(nèi)容,僅為組織整理)

dependences是項目正常運(yùn)行所需要的依賴,而devDependencies則是開發(fā)者開發(fā)時整個項目所需的依賴(如會有一些測試依賴之類的)。

會默認(rèn)安裝兩種依賴。

如果你只是單純的想使用這個包而不需要進(jìn)行一些改動測試之類的操作,則運(yùn)行:(只安裝dependencies而不安裝devDependencies。)

npminstall--production

如果想要安裝devDependencies,則運(yùn)行:

npminstallpackagename--dev

dependencies就是你程序跑起來需要的模塊,沒有這個模塊你程序就會報錯。

devDependencies見命知意了,開發(fā)程序的時候需要的模塊了。

舉個例子,你用angularjs框架開發(fā)一個程序,開發(fā)階段需要用到gulp來構(gòu)建你的開發(fā)和本地運(yùn)行環(huán)境。所以angularjs一定要放到dependencies里,因為以后程序到生產(chǎn)環(huán)境也要用。gulp則是你用來壓縮代碼,打包等需要的工具,程序?qū)嶋H運(yùn)行的時候并不需要,所以放到dev里就ok了。

再深入一些,你寫程序要用ES6標(biāo)準(zhǔn),瀏覽器并不完全支持,所以你要用到babel來轉(zhuǎn)換代碼。程序里有消息提示,你想用toaster。同樣一個開發(fā)用,一個運(yùn)行用。所以babel放dev,toaster放dependencies。

希望你理解了!

簡單一些可以:

dependencies存放項目或組件代碼中依賴到的

devDependencies存放測試代碼依賴的包或構(gòu)建工具的包

如果你使用了一些構(gòu)建工具,比如webpack之類的,打包的時候,是不會把dev庫打進(jìn)去的。

devDependencies 通常用來放我們開發(fā)時所用到的工具,比如 Webpack,Gulp,babel等。devDependencies 里面的插件只用于開發(fā)環(huán)境,不用于生產(chǎn)環(huán)境,而 dependencies 是需要發(fā)布到生產(chǎn)環(huán)境的。

瀏覽器并不會實際的去同步加載這個模塊,require的處理是由Webpack進(jìn)行解析和打包的,瀏覽器只需要執(zhí)行打包后的代碼。

將Webpack開發(fā)服務(wù)器集成到已有服務(wù)器

盡管Webpack開發(fā)服務(wù)器可以直接用于開發(fā),但實際項目中我們可能必須使用自己的Web服務(wù)器。這就需要我們能將Webpack的服務(wù)集成到已有服務(wù)器,來使用Webpack提供的模塊打包和加載功能。要實現(xiàn)這一點其實非常容易,只需要在載入打包文件時指定完整的URL地址,例如:

這就告訴當(dāng)前頁面應(yīng)該去另外一個服務(wù)器獲得腳本資源文件,在之前我們已經(jīng)在配置文件中指定了開發(fā)服務(wù)器的地址,因此打包后的文件也知道應(yīng)該通過哪個地址去建立Socket IO來動態(tài)加載模塊。

上一篇:下一篇:

硬件開發(fā)環(huán)境與軟件開發(fā)環(huán)境是指什么?

硬件開發(fā)環(huán)境與軟件開發(fā)環(huán)境是指什么?一個完整的電腦系統(tǒng)包括硬件和軟件兩部分.顧名思義,硬件:就是電腦中那些看得見摸得著的實物設(shè)備.而軟件則是相對硬件所說的,它是指電腦上運(yùn)行所需的各種程序及其有關(guān)的文檔材料.

2019-01-07

軟件運(yùn)行的軟硬件開發(fā)環(huán)境配置有哪些要求?

在計算機(jī)領(lǐng)域,軟件環(huán)境指運(yùn)行于計算機(jī)硬件之上的驅(qū)動計算機(jī)及其外圍設(shè)備實現(xiàn)某種目的的軟件系統(tǒng)。還包括目的軟件之外的應(yīng)用層軟件,在涉及軟件交互的時候,這些應(yīng)用軟件往往影響很大。

2019-01-04

軟件運(yùn)行的硬件開發(fā)環(huán)境有哪些?

硬件環(huán)境( Hardware Environment),計算機(jī)及其外圍設(shè)備組成的計算機(jī)物理系統(tǒng)。 即硬件設(shè)施,是指由傳播活動所需要的那些物質(zhì)條件、有形條件之和構(gòu)筑而成的環(huán)境。

2019-01-02

淺談嵌入式系統(tǒng)的軟硬件開發(fā)環(huán)境

嵌入式系統(tǒng)的開發(fā)需要開發(fā)環(huán)境,主要有三部分:系統(tǒng)移植和開發(fā)的具體軟、硬件環(huán)境,以及嵌入式系統(tǒng)在開發(fā)中使用的交叉編譯工具。本文主要介紹系統(tǒng)硬件開發(fā)環(huán)境這一方面。硬件環(huán)境主要是以自行開發(fā)的M·CORE硬件平臺為例,其中以微控制芯片MMC2107為核心,外設(shè)包括存儲模塊、液晶顯示模塊、觸摸屏模塊和網(wǎng)絡(luò)接口模塊。

2018-12-12

一個項目的軟硬件開發(fā)環(huán)境指的是什么?

軟硬件開發(fā)環(huán)境(Software Development Environment)是指在基本硬件和宿主軟件的基礎(chǔ)上,為支持系統(tǒng)軟件和應(yīng)用軟件的工程化開發(fā)和維護(hù)而使用的一組軟件,簡稱SDE。

2018-12-11

前端硬件開發(fā)環(huán)境與生產(chǎn)測試環(huán)境的區(qū)別

前端硬件開發(fā)環(huán)境與生產(chǎn)測試環(huán)境的區(qū)別。三個環(huán)境也可以說是系統(tǒng)開發(fā)的三個階段:開發(fā)->測試->上線,其中生產(chǎn)環(huán)境也就是通常說的真實環(huán)境。

2018-11-23