Posted in NodeJs onFebruary 28, 2022
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自动打包
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注三水点靠木的更多内容!
NodeJs使用webpack打包项目的方法详解
- Author -
碰磕- Original Sources -
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@