NodeJs使用webpack打包項目的方法詳解
Webpack
為何要用::友好支持模塊化、代碼混淆、處理js兼容、性能優化等…
WebPack的使用
第一步:初始化項目:npm init -y
第二步:新建 src/index.html
第三步:安裝模塊Jquery npm install jquery
第四步:測試隔行換色
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>隔行換色</title> <script src="./index.js"></script> </head> <body> <h1>web pack測試</h1> <!-- vscode快捷方式:ul>li{第$個li}*10 --> <ul> <li>第1個li</li> <li>第2個li</li> <li>第3個li</li> <li>第4個li</li> <li>第5個li</li> <li>第6個li</li> <li>第7個li</li> <li>第8個li</li> <li>第9個li</li> <li>第10個li</li> </ul> </body> </html>
index.js
import $ from 'jquery' $(function(){ $('li:odd').css('backgroundColor','green');//odd偶數 $('li:even').css('backgroundColor','pink');//even奇數 })
運行報錯:
這就是兼容性問題
使用webpack打包解決問題官網:https://www.webpackjs.com/
第五步:安裝webpack(兩個包)npm install webpack webpack-cli -D (開發模式)
第六步:新建webpack.config.js
/** * webpack 配置文件 */ module.exports={ //調試時使用development開發模式 //打包時使用production生產模式 mode : 'development' }
配置文件部分屬性:
- 默認打包入口:/src/index.js
- 默認打包出口:/dist/main.js
可進行配置:
/** * webpack 配置文件 */ const path=require('path'); module.exports={ //調試時使用development開發模式 //打包時使用production生產模式 mode : 'development', entry: path.join(__dirname,'./src/index.js'), //__dirname表示當前目錄當前路徑 output: { path: path.join(__dirname,'./dist'), filename:'bundle.js', },//出口 }
第七步:修改package.json(可有可無,運行方式不同)
package.json
"scripts": { "dev": "webpack" },
第八步:執行打包npm run dev
目錄下多出文件夾dist,終端含有’successfully’表示打包成功!
測試
首先修改index.html引入的js包
<!--<script src="./index.js"></script>-->❌ <script src="../dist/main.js"></script>
運行:
表明webpack打包成功有效並且解決瞭兼容性問題!!!
WebPack打包CSS
傳統都是用link引用
第一步:安裝處理css的loader:npm i style-loader css-loader -D
根據實際需要安裝對應的加載器
npm install less-loader -D (less加載器)
npm install sass-loader node-sass -D (sass加載器)
第二步:修改webpack.config.js:
/** * webpack 配置文件 */ const path=require('path'); module.exports={ //調試時使用development開發模式 //打包時使用production生產模式 mode : 'development', entry: path.join(__dirname,'./src/index.js'), //__dirname表示當前目錄當前路徑 output: { path: path.join(__dirname,'./dist'), filename:'bundle.js', },//出口 devServer:{ static: './src' }, //新增內容css module:{ //處理css rules:[ //(規范)約束 {test:/\.css$/,use:['style-loader','css-loader']}//正則表達式拓展名.css ] } }
第三步:引入CSS文件:`
css
#box{ width: 200px; height: 100px; background-color: greenyellow; }
index.js中加在上方(css的路徑要填寫正確)import './css/style.css'
index.html
<h1>CSS</h1> <div id="box">盒子</div>
第四步:運行測試:npm run dev
成功!!!
WebPack自動打包
由於每次更新代碼都需要手動打包,這時我們要用上自動打包
①安裝 npm install webpack-dev-server -D
②修改package.json(使得窗口自動打開並且自動打包)
"scripts": { "test": "echo \"Error: no test specified\" && exit 1", "dev": "webpack-dev-server --open --host 127.0.0.1 --port 9090" },
③修改webpack.config.js
devServer:{ static: './src' }
④html引入bundle.js
打包後的文件都在根目錄下
<script src="/bundle.js"></script>
④運行驗證npm run dev
原理:服務器上運行監聽,所以需要訪問服務器
直接訪問即可,成功實現WebPack自動打包
總結
本篇文章就到這裡瞭,希望能夠給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!
推薦閱讀:
- JavaScript webpack5配置及使用基本介紹
- webpack-dev-server的安裝使用教程
- webpack搭建vue環境時報錯異常解決
- 使用webpack打包ts代碼的實現
- 使用webpack手動搭建vue項目的步驟