webpack笔记

安装webpack:npm install webpack webpack-cli -D(-D与--save-dev一样)

打包:webpack --mode development-----开发模式

打包:webpack --mode production-----运行模式(上线)

指定打包输出位置:webpack ./src/indx.js -o ./build/ --mode production----将src下的index.js打包输出到build目录下

简洁方式:在根目录下创建一个webpack的配置文件--->webpack.config.js
    配置文件里面可以配置---->
    const {resolve}=require('path');//nodejs获取当前路径
    module.export={
            entry:'./src/index.js', //入口文件
            output:{
                        //node.js中__dirname变量获取当前模块文件所在目录的完整绝对路径 
                        path:resolve(__dirname,'build'), //输出位置
                        filename:'main.js' //输入文件
                 },
            module:{
                    rules:[]//处理其他资源
            },  
            plugins:[],//插件
            mode:'development'//开发模式--production(运行模式)
    }
    配置完成后:我们只需输入命令:webpack,就自动根据命令进行打包
    多入口文件:
        方式①:entry:["./src/a.js","./src.b.js"]
        方式②:entry:{
                two:"./src/two.js",
                one:"./src/one.js"        
            }
            ----> output:{
                           path:resolve(__dirname,'build'), //输出位置
                            filename:'[name].js' //输入文件,[name]指定为entry中的two.js和one.js
                     },


打包html文件:---->在webpack.config.js中配置----自动将js引入到html中
下载插件:npm i html-webpack-plugin -D
引入插件:const HtmlWebpackPlugin=require('html-webpack-plugin');
使用插件:
plugins:[
    new HtmlWebpackPlugin({
    template:"./scr/index.html",//使用模板
    filename:"demo.html",//重命名
    //压缩html文件
    minify:{
        collapseWhitespace:true,//移除空格
        removeComments:true,//移除注释
    }
    chunks:["a.js","b.js"],//规定引入需要的js文件
    }),
]

打包css文件:---->在webpack.config.js中配置
下载:npm i css-loader style-loader -D
配置:
    module:{
            //处理其他资源
                    rules:[{
                test:/\.css$/,
                use:['style-loader','css-loader']
                }]
            },

在入口文件(js文件)中引入css:    require('a.css')  

开发服务器的使用:devServer-----可以自动编译(浏览器热加载一样)
安装下载:npm i webpack-dev-server -D
在webpack.config.js中配置一个:target:"web"------->自动打开浏览器---->自动刷新
运行webpack serve就可以启动服务
改端口号(默认8080)webpack serve --port 端口号
----->HMR模块热替换--->webpack.config.js---->devServer{
                        port:3000,
                        compress:true,
                        open:true,
                        hot:true,//模块热替换
                        }


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

疯狂的小朱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值