webpack安裝以及一些配置


 

 

 

 

在用webpack之前... 或說沒有實現組件化之前的web1.0時代!

 

 


 

 

最終邁向web2..0之后的時代!

===============華麗的分割線==================

 

安裝步驟有兩步:

 

1. 首先安裝  全局

npm install -g webpack

2. 再安裝局部

npm install --save-dev webpack
為了控制版本不一的情況,實際情況就是這樣.

 

安裝好了就是這樣(全局安裝即每個目錄都可以得到你安裝的信息)
 

 

好了下一步操作!
==錯了。
要先
npm init
生成一系列信息!

本地安裝: npm install package-name

全局全裝: npm install -g  package-name

 

升級:  npm update 

卸載:  npm uninstall 

 

通過package.json 

刪除不需要的依賴信息:

{

"name":"myPackage",

"version":"0.0.1",

"dependencies":{

"abc":">0.0.2"}

}

好了,卸載npm包管理!

 


再次生產:npm init
一股勁的回車就行,目測!
 
mdzz,不行,乖乖!

 


 
乖乖,只有第一個名字不能為空,其余回車跳過就行!!!

 


搞定(上面的信息僅是測試,是不准備發布的)

 


 
我的測試目錄是這樣的!
在這里我不浪費vscode的目錄結構而去使用Linux tree

 


好了,填坑(代碼)
index.html生產目錄結構:

 


 
一個!產生的目錄結構

 


Emment神器!
 
# {extry file}出填寫入口文件的路徑,本文中就是上述main.js的路徑,# {destination for bundled file}處填寫打包文件的存放路徑# 填寫路徑的時候不用添加{}
webpack {entry file} {destination for bundled file}
webpack app/main.js public/bundle.js
后面的打包文件可以不存在! 執行命令后自動生成!

 


打包成功一個!

 


 
其實,通過loadersplugs最好了!
下面配置文件:

 


 
在當前目錄下:webpack
即可通過配置文件生成:

 


更快捷的執行打包任務


 

注:package.json中的script會安裝一定順序尋找命令對應位置,本地的node_modules/.bin路徑就在這個尋找清單中,所以無論是全局還是局部安裝的Webpack,你都不需要寫前面那指明詳細的路徑了。

 

npmstart命令是一個特殊的腳本名稱,其特殊性表現在,在命令行中使用npm start就可以執行其對於的命令,如果對應的此腳本名稱不是start,想要在命令行中運行時,需要這樣用npm run {script name}npm run build,我們在命令行中輸入npm start試試,輸出結果如下:

 

這時候1條命令即可解決:

 npm start

 

 


 

 

 


我們選擇中小項目用的源碼地圖!

使用webpack構建本地服務器

先安裝到本地:

npm install --save-dev webpack-dev-server


 

 

開啟服務器兩個步驟:

 

1. 配置package.json

 


2. 配置webpack.config.js(webpack.conf.js)

 


 

最后npm run server !

 

 


 

OK,自動彈出瀏覽器並進入!

 


Loaders

鼎鼎大名的Loaders登場了!

 

 

 

 

 

 由於webpack3.*/webpack2.*已經內置可處理JSON文件,這里我們無需再添加webpack1.*需要的json-loader。在看如何具體使用loader之前我們先看看Babel是什么?

 

 


安裝Babel:

npm install --save-dev babel-core babel-loader babel-preset-es2015 babel-preset-react

 


再安裝:
reactreact-dom
npm install --save react react-dom
 

 

一切皆模塊

Webpack有一個不可不說的優點,它把所有的文件都都當做模塊處理,JavaScript代碼,CSSfonts以及圖片等等通過合適的loader都可以被處理。

CSS

webpack提供兩個工具處理樣式表,css-loader  style-loader,二者處理的任務不同,css-loader使你能夠使用類似@import  url(...)的方法實現 require()的功能,style-loader將所有的計算后的樣式加入頁面中,二者組合在一起使你能夠把樣式表嵌入webpack打包后的JS文件中。

npm install --save-dev style-loader css-loader

 

 
        

請注意這里對同一個文件引入多個loader的方法。

我們這里例子中用到的webpack只有單一的入口,其它的模塊需要通過 importrequireurl等與入口文件建立其關聯,為了讓webpack能找到”main.css“文件,我們把它導入”main.js “中,如下

 


CSS module

在過去的一些年里,JavaScript通過一些新的語言特性,更好的工具以及更好的實踐方法(比如說模塊化)發展得非常迅速。模塊使得開發者把復雜的代碼轉化為小的,干凈的,依賴聲明明確的單元,配合優化工具,依賴管理和加載管理可以自動完成。

不過前端的另外一部分,CSS發展就相對慢一些,大多的樣式表卻依舊巨大且充滿了全局類名,維護和修改都非常困難。

最近有一個叫做 CSS modules 的技術就意在把JS的模塊化思想帶入CSS中來,通過CSS模塊,所有的類名,動畫名默認都只作用於當前模塊。Webpack從一開始就對CSS模塊化提供了支持,在CSS loader中進行配置后,你所需要做的一切就是把”modules“傳遞到所需要的地方,然后就可以直接把CSS的類名傳遞到組件的代碼中,且這樣做只對當前組件有效,不必擔心在不同的模塊中使用相同的類名造成沖突。具體的代碼如下

 


 
 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM