时间:2022-07-04 14:06:55 | 栏目:NodeJS | 点击:次
为何要用::友好支持模块化、代码混淆、处理js兼容、性能优化等…
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 配置文件 */ module.exports={ //调试时使用development开发模式 //打包时使用production生产模式 mode : 'development' }
配置文件部分属性:
可进行配置:
/** * 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
"scripts": { "dev": "webpack" },
目录下多出文件夹dist,终端含有’successfully’表示打包成功!
测试
首先修改index.html引入的js包
<!--<script src="./index.js"></script>-->? <script src="../dist/main.js"></script>
运行:
表明webpack打包成功有效并且解决了兼容性问题!!!
传统都是用link引用
根据实际需要安装对应的加载器
npm install less-loader -D (less加载器)
npm install sass-loader node-sass -D (sass加载器)
/** * 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
#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 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自动打包