成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

npm run dev 和 npm run build 解析(轉(zhuǎn)載)

caozhijian / 1768人閱讀

摘要:關(guān)于的和以上是關(guān)于與的所有文件指令分析里面意思運(yùn)行的時(shí)候執(zhí)行的是文件,運(yùn)行的時(shí)候執(zhí)行的是文件。前端開發(fā)過程中需要使用到后臺(tái)的的話,可以通過配置來將相應(yīng)的后臺(tái)請(qǐng)求代理到專用的服務(wù)器。和這三個(gè)文件就簡(jiǎn)單設(shè)置了環(huán)境變量而已,沒什么特別的。

關(guān)于vue的npm run dev和npm run build
├─build
│ ├─build.js
│ ├─check-versions.js
│ ├─dev-client.js
│ ├─dev-server.js
│ ├─utils.js
│ ├─vue-loader.conf.js
│ ├─webpack.base.conf.js
│ ├─webpack.dev.conf.js
│ ├─webpack.prod.conf.js
│ └─webpack.test.conf.js
├─config
│ ├─dev.env.js
│ ├─index.js
│ ├─prod.env.js
│ └─test.env.js
├─...
└─package.json
以上是關(guān)于bulid與run的所有文件
指令分析
package.json里面

"dev": "node build/dev-server.js",

"build": "node build/build.js",

意思:運(yùn)行”npm run dev”的時(shí)候執(zhí)行的是build/dev-server.js文件,

運(yùn)行”npm run build”的時(shí)候執(zhí)行的是build/build.js文件。

build文件夾分析
build/dev-server.js
npm run dev 執(zhí)行的文件build/dev-server.js文件,執(zhí)行了:

檢查node和npm的版本
引入相關(guān)插件和配置
創(chuàng)建express服務(wù)器和webpack編譯器
配置開發(fā)中間件(webpack-dev-middleware)和熱重載中間件(webpack-hot-middleware)
掛載代理服務(wù)和中間件
配置靜態(tài)資源
啟動(dòng)服務(wù)器監(jiān)聽特定端口(8080)
自動(dòng)打開瀏覽器并打開特定網(wǎng)址(localhost:8080)

說明: express服務(wù)器提供靜態(tài)文件服務(wù),不過它還使用了http-proxy-middleware,一個(gè)http請(qǐng)求代理的中間件。前端開發(fā)過程中需要使用到后臺(tái)的API的話,可以通過配置proxyTable來將相應(yīng)的后臺(tái)請(qǐng)求代理到專用的API服務(wù)器。

build/webpack.base.conf.js
dev-server依賴的webpack配置是webpack.dev.conf.js文件,

測(cè)試環(huán)境下使用的是webpack.prod.conf.js

webpack.dev.conf.js中又引用了webpack.base.conf.js

webpack.base.conf.js主要完成了下面這些事情:

配置webpack編譯入口
配置webpack輸出路徑和命名規(guī)則
配置模塊resolve規(guī)則
配置不同類型模塊的處理規(guī)則
這個(gè)配置里面只配置了.js、.vue、圖片、字體等幾類文件的處理規(guī)則,如果需要處理其他文件可以在module.rules里面配置。

build/webpack.dev.conf.js
在webpack.base.conf的基礎(chǔ)上增加完善了開發(fā)環(huán)境下面的配置,主要包括下面幾件事情:

將hot-reload相關(guān)的代碼添加到entry chunks
合并基礎(chǔ)的webpack配置
使用styleLoaders
配置Source Maps
配置webpack插件

build/check-versions.js和build/dev-client.js
最后是build文件夾下面兩個(gè)比較簡(jiǎn)單的文件,

dev-client.js似乎沒有使用到,代碼也比較簡(jiǎn)單,這里不多講。

check-version.js完成對(duì)node和npm的版本檢測(cè)

build/utils.js和build/vue-loader.conf.js

webpack配置文件中使用到了utils.js和vue-loader.conf.js這兩個(gè)文件,utils主要完成下面3件事:

配置靜態(tài)資源路徑
生成cssLoaders用于加載.vue文件中的樣式
生成styleLoaders用于加載不在.vue文件中的多帶帶存在的樣式文件

vue-loader.conf則只配置了css加載器以及編譯css之后自動(dòng)添加前綴。

build/build.js
構(gòu)建環(huán)境下的配置,

build.js主要完成下面幾件事:

loading動(dòng)畫
刪除創(chuàng)建目標(biāo)文件夾
webpack編譯
輸出信息

build/webpack.prod.conf.js

構(gòu)建的時(shí)候用到的webpack配置來自webpack.prod.conf.js,該配置同樣是在webpack.base.conf基礎(chǔ)上的進(jìn)一步完善。主要完成下面幾件事情:

合并基礎(chǔ)的webpack配置
使用styleLoaders
配置webpack的輸出
配置webpack插件
gzip模式下的webpack插件配置
webpack-bundle分析
說明: webpack插件里面多了丑化壓縮代碼以及抽離css文件等插件。

config文件夾分析
config/index.js

config文件夾下最主要的文件就是index.js了,

在這里面描述了開發(fā)和構(gòu)建兩種環(huán)境下的配置,前面的build文件夾下也有不少文件引用了index.js里面的配置。

config/dev.env.js、config/prod.env.js和config/test.env.js

這三個(gè)文件就簡(jiǎn)單設(shè)置了環(huán)境變量而已,沒什么特別的。

這是webpack的基本入門,webpack還有很多插件,還需要去探索

后面寫這幾個(gè)文件的源碼解釋。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/110243.html

相關(guān)文章

  • vue多環(huán)境配置方案

    摘要:前言一般服務(wù)器分為本地環(huán)境,測(cè)試環(huán)境,正式環(huán)境如果每次都要修改配置就很麻煩,總結(jié)一下我使用的方法修改執(zhí)行命令修改文件的,在打包的時(shí)候執(zhí)行不同的命令,測(cè)試執(zhí)行那正式執(zhí)行這里用到了能跨平臺(tái)地設(shè)置及使用環(huán)境變量,使用 前言 一般服務(wù)器分為本地環(huán)境,測(cè)試環(huán)境,正式環(huán)境如果每次都要修改配置就很麻煩,總結(jié)一下我使用的方法 vue-demo/ |-build/ |-config/ |-d...

    劉德剛 評(píng)論0 收藏0
  • 從 1 到完美,用 node 寫一個(gè)命令行工具

    摘要:從到完美,用寫一個(gè)命令行工具中的字段現(xiàn)在,不管是前端項(xiàng)目還是項(xiàng)目,一般都會(huì)用做包管理工具,而是其相關(guān)的配置信息。又一個(gè)讓命令行與用戶進(jìn)行交互的工具與功能差不多。比較常用的命令行命令行相關(guān)的應(yīng)用就很多啦,比如等,但這些不僅僅是命令行工具。 從 1 到完美,用 node 寫一個(gè)命令行工具 1. package.json 中的 bin 字段 現(xiàn)在,不管是前端項(xiàng)目還是 node 項(xiàng)目,一般都會(huì)...

    YorkChen 評(píng)論0 收藏0
  • 通過create-react-app從零搭建react環(huán)境

    摘要:通過文件可以對(duì)圖標(biāo)名稱等信息進(jìn)行配置。注意,注冊(cè)的只在生產(chǎn)環(huán)境中生效,并且該功能只有在下才能有效果該文件是過濾文件配置該文件是描述文件定義了項(xiàng)目所需要的各種模塊,以及項(xiàng)目的配置信息比如名稱版本許可證等元數(shù)據(jù)。 一、 快速開始: 全局安裝腳手架: $ npm install -g create-react-app 通過腳手架搭建項(xiàng)目: $ create-react-app 開始項(xiàng)目: ...

    Cympros 評(píng)論0 收藏0
  • 通過create-react-app從零搭建react環(huán)境

    摘要:通過文件可以對(duì)圖標(biāo)名稱等信息進(jìn)行配置。注意,注冊(cè)的只在生產(chǎn)環(huán)境中生效,并且該功能只有在下才能有效果該文件是過濾文件配置該文件是描述文件定義了項(xiàng)目所需要的各種模塊,以及項(xiàng)目的配置信息比如名稱版本許可證等元數(shù)據(jù)。 一、 快速開始: 全局安裝腳手架: $ npm install -g create-react-app 通過腳手架搭建項(xiàng)目: $ create-react-app 開始項(xiàng)目: ...

    CoyPan 評(píng)論0 收藏0
  • 從零開始的Webpack4教程

    摘要:插件則可以用于執(zhí)行范圍更廣的任務(wù)。插件的范圍包括,從打包優(yōu)化和壓縮,一直到重新定義環(huán)境中的變量等。插件的使用一般是在的配置信息選項(xiàng)中指定。到這里基本配置已經(jīng)告一段落了,所有配置我已經(jīng)放在倉庫中第二期優(yōu)化教程已出歡迎關(guān)注和提問 1、了解Webpack相關(guān) 什么是webpack Webpack是一個(gè)模塊打包器(bundler)。 在Webpack看來, 前端的所有資源文件(js/js...

    ShevaKuilin 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<