webpack學習筆記 ——篇2

 

插件整理css

extract-text-webpack-pluginhtml

 

 

 

用於將css/less/sass等文件單獨打包vue

 

 

 

https://webpack.docschina.org/plugins/extract-text-webpack-plugin/#src/components/Sidebar/Sidebar.jsxnode

1.引入react

2.配置loaderwebpack

style-loader用於爲css包一層Js,以插入到html中,這裏不用。ios

3.定義插件es6

打包好的css即爲styles.cssweb

 

vue-loadernpm

https://vue-loader.vuejs.org/guide/#manual-configuration

 

cross-env

用於跨平臺設置環境變量,好比process.env.NDOE_ENV,以根據不一樣的值進行不一樣的配置

 

https://www.npmjs.com/package/cross-env

 1.安裝:npm i cross-env --save-dev

2.package.json腳本中配置命令:

至關於:經過cross-env設置proccess.env.NODE_ENV爲development,並運行webpack命令。

webpack.DefinePlugin

用於在業務代碼中,和在webpack編譯過程當中,設置全局變量;

vue、react等包括好幾個版本(好比開發版本會包含不少錯誤提示等),webpack根據這些變量名肯定該打包哪一個版本。

 

https://webpack.docschina.org/plugins/define-plugin/

 

注意:cross-env是設置node運行環境中的process對象,但在業務代碼中(好比main.js)無發判斷這個值,

這個插件將這個值配置到業務代碼的全局環境中。

1.引入webpack

 

2.配置插件

 

 

stylus-loader

用於編寫stylus格式css(相應於less/sass)

1.安裝stylus-loader

2.配置

{
  test: /\.styl/,
  use: ["style-loader","css-loader",
  "stylus-loader"]
},

autoprefixer

用於自動添加css前綴,不用寫-webkit-/-moz-等一大串。

postcss-loader用於對翻譯好的css進行優化,經過一些插件完成,autoprefixer就是其中一個。

 1.建立postcss.config.js並配置:

2.

 

 

babel-loader

處理vue中的jsx格式

1.下載babel-core/babel-loader/babel-preset-env/babel-plugin-transform-vue-jsx

2.配置babel,建立.babelrc

3.配置webpack.config.js

 

optimization.splitChunks

用於分離第三方庫

 

rimraf

用於刪除目錄的工具包

注意:直接在cmd命令行執行:

rimraf dist

提示rimraf不識別,須要在package.json中配置命令並經過npm run ***執行

 

babel-preset-stage-1

用於識別es6等更高級語法,或還在草案中的語法,好比對象擴展符號...

1.npm install babel-preset-stage-1 --save-dev

2..babelrc文件中presets數組中添加"stage-1"

vue-server-renderer

vue服務端渲染必需的插件,生成獨立的json,用於配置複雜的邏輯。正因有這個插件,vue的服務端渲染比react容易

 

koa-router

kou中間件,幫助koa處理路由信息

 

axios

用於應用向服務端發送請求

 

memory-fs

和node中的fs基本相同,惟一區別:對於讀取的文件,node中的fs存到磁盤上,memory-fs存到內存

 

optimize-css-assets-webpack-plugin

用於壓縮extract-text-webpack-plugin生成的css文件

1.引入

2.配置

 

 

 

 

cross-env NODE_ENV=development webpack-dev-server --config webpack.config.js

命令對應的開發環境下配置:

不設置hot:true,會是頁面總體更新,已經寫進去的數據也會沒有,

設置後,只是有改動的模塊更新。

相關文章
相關標籤/搜索