摘要:分開配置的原因前端項(xiàng)目的開發(fā)在開發(fā)過程中和上線時需要的依賴是不同的,所以要求使用打包的時候要能夠在兩種情況下執(zhí)行不同的配置。在中的屬性中配置開發(fā)打包命令和上線打包命令,指定不同的配置文件。
分開配置的原因
前端項(xiàng)目的開發(fā)在開發(fā)過程中和上線時需要的依賴是不同的,所以要求使用webpack打包的時候要能夠在兩種情況下執(zhí)行不同的配置。帶來的好處是上線的項(xiàng)目不依賴開發(fā)下的包,減少生產(chǎn)環(huán)境中所需要請求的依賴從而提升頁面的性能。
常見的做法 使用不同的配置文件在項(xiàng)目的中創(chuàng)建兩個配置文件,分別對應(yīng)的開發(fā)環(huán)境和生產(chǎn)環(huán)境。因?yàn)閮蓚€配置文件有很多共通的基礎(chǔ)配置,可以通過引入公共配置的方法減少重復(fù)的配置代碼。例如,創(chuàng)建名為webpack.base.config.js的文件,該文件中寫入共通的基礎(chǔ)配置代碼。分別創(chuàng)建名為webpack.dev.config.js和webpack.prod.config.js,分別對應(yīng)開發(fā)時和上線時的配置文件。在這兩個文件頭部引入webpack.base.config.js,根據(jù)需求在基本配置的基礎(chǔ)上添加各自個性化的配置需求。
在package.json中的scripts屬性中配置開發(fā)打包命令和上線打包命令,指定不同的配置文件。例如{"scripts":{"build":"webpack --config webpack.prod.config.js","dev":"webpack --config webpack.dev.config.js"}}。這樣就可以實(shí)現(xiàn)了不同的配置文件對開發(fā)和生產(chǎn)兩種環(huán)境下個性化打包需求。
完成這些工作之后就可以在命令行中通過npm run build和npm run dev來執(zhí)行package中配置的腳本了。
使用環(huán)境變量參數(shù)當(dāng)開發(fā)環(huán)境和生產(chǎn)環(huán)境依賴的包差別不太大的時候,為了簡單還可以將所有的配置寫在一個配置文件之中,通過讀取參數(shù)的方式輸出不同的配置對象。
方法是首先配置基本的配置項(xiàng),然后判斷當(dāng)前是否處于開發(fā)狀態(tài)下,如果是開發(fā)狀態(tài)往配置項(xiàng)里面添加配置。例如配置對象是config,如果當(dāng)前是開發(fā)狀態(tài),需要添加plugin。則config.plugin.push(new webpackHtmlPlugin())。
判斷的方式是在package.json中腳本加上環(huán)境變量NODE_ENV,例如
{"scripts":{"build":"NODE_ENV=production webpack --config webpack.config.js","dev":"NODE_ENV=deveploment webpack --config webpack.config.js"}}
const isDev = process.env.NODE_ENV === "development"
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/99522.html
摘要:本質(zhì)就是一個編譯器,通過將源代碼解析成抽象語法樹將源代碼的結(jié)果一系列轉(zhuǎn)換生成目標(biāo)代碼的將目標(biāo)代碼的轉(zhuǎn)換成代碼。項(xiàng)目構(gòu)建三開發(fā)環(huán)境本地服務(wù)器搭建源碼下載地址參考資料入門阮一峰中文文檔中文網(wǎng) 注:以下教程均在 windows 環(huán)境實(shí)現(xiàn),使用其他操作系統(tǒng)的同學(xué)實(shí)踐過程可能會有些出入。 ??在上一章 webpack 項(xiàng)目構(gòu)建:(一)基本架構(gòu)搭建 我們搭建了一個最基本的 webpack 項(xiàng)目,現(xiàn)...
摘要:的選項(xiàng)中,是文件的輸出路徑是暴露的對象名,要跟保持一致是解析包路徑的上下文,這個要跟下面要配置的保持一致。最后修改一下模板,增加引用文件給入口文件再加點(diǎn)依賴模塊,方便打包觀察運(yùn)行打包可以看到,入口文件里依賴的,模塊,直接引用了。 React系列---Webpack環(huán)境搭建(一)手動搭建React系列---Webpack環(huán)境搭建(二)不同環(huán)境不同配置React系列---Webpack環(huán)境...
摘要:提供了兩種向組件傳遞參數(shù)的方式。子路由項(xiàng)路徑不要使用開頭,以開頭的嵌套路徑會被當(dāng)作根路徑。路由實(shí)例的方法這里學(xué)習(xí)兩個路由實(shí)例的方法和。實(shí)際上,是通過不同的將這些資源加載后打包,然后輸出打包后文件。 一、vue-router 1、簡介 我們經(jīng)常使用vue開發(fā)單頁面應(yīng)用程序(SPA)。在開發(fā)SPA過程中,路由是必不可少的部分,vue的官方推薦是vue-router。單頁面應(yīng)用程序看起來好像...
摘要:提供了兩種向組件傳遞參數(shù)的方式。子路由項(xiàng)路徑不要使用開頭,以開頭的嵌套路徑會被當(dāng)作根路徑。路由實(shí)例的方法這里學(xué)習(xí)兩個路由實(shí)例的方法和。實(shí)際上,是通過不同的將這些資源加載后打包,然后輸出打包后文件。 一、vue-router 1、簡介 我們經(jīng)常使用vue開發(fā)單頁面應(yīng)用程序(SPA)。在開發(fā)SPA過程中,路由是必不可少的部分,vue的官方推薦是vue-router。單頁面應(yīng)用程序看起來好像...
摘要:上一章我們了解了的編譯環(huán)境搭建項(xiàng)目構(gòu)建二編譯環(huán)境搭建這一章我們會結(jié)合的,介紹本地測試服務(wù)器的搭建過程。三開發(fā)環(huán)境有一些特性是專門用于開發(fā)環(huán)境的,可以幫助我們搭建一個更好的開發(fā)環(huán)境。我們可以通過配合使用來搭建本地服務(wù)。 注:以下教程均在 windows 環(huán)境實(shí)現(xiàn),使用其他操作系統(tǒng)的同學(xué)實(shí)踐過程可能會有些出入。 ??上一章我們了解了 webpack 的 ES6 編譯環(huán)境搭建:webpack...
閱讀 1814·2021-10-09 09:44
閱讀 2690·2021-09-22 15:38
閱讀 2451·2021-09-09 09:33
閱讀 686·2021-09-07 09:58
閱讀 1785·2021-09-02 15:41
閱讀 2485·2019-08-30 15:55
閱讀 1796·2019-08-30 15:55
閱讀 533·2019-08-30 15:44