webpack是什么,怎么使用

一、webpack简介
1.webpack是什么
  • webpack项目打包工具,项目构建工具
2.webpack有什么用
  • 构建单页应用(disk) nmp run build
  • 代码压缩
  • npm i http-server -g 安装http-server 可以将文件转化成服务
3.同类工具
  • 百度fis3
  • grunt
  • gulp
二、webpack安装
  • 1.安装node(node提供了npm)
  • 2.设置淘宝镜像: node js的模板(插件)存放在网站,http://www.npmjs.com
    淘宝镜像会同步该网站的模块
    设置方法:npm config set registry https://registry.npm.taobao.org
  • 3.webpack官网https://webpack.github.io/
  • 4.npm i webpack -g (-g全局安装,–save-dev安装到本目录)
  • 5.npm i webpack-cli -g
三、nodejs模块系统
  • 简单的node数据导出 module.exports
 const cat = {
            age:2,
            name:'布偶'
        }
        module.exports = cat;
  • 导入 require
const aa = require('./cat.js');
四、webpack的核心概念
1.入口和出口
  • webpack是一个加工代码的仓库,代码通过进口进入,加工完成后从出口出
  • 命令 cls 清屏 cd 进去 cd… 跳出
  • 1.初始化package.json npm init 一直按enter
  • 2.新建文件 webpack.config.js 用于配置所有的东西
  • 3.打包 webpack
webpack.config.js 内
const path = require('path');

// webpack配置

module.exports={
    // 默认生产模式/压缩 development-开发模式
    mode:'development',
    // 配置入口
    entry:'./aa.js',
    // 配置出口
    output:{
        // 打包后的文件名 __dirname代表当前目录 后面的是自己定义的
        filename:'main.js',
        // 打包地址
        path: path.resolve(__dirname,'dist')
        // resolve这个方法可以兼容通用各种机型

    }
}
2.loader 加载器
  • 在webpack世界里,一切皆模块
  • webpack默认值只认识js模块
  • 1.配置css-loader(举例)
1.安装加载器 npm i --save-dev style-loader 安装css加载器 npm i --save-dev css-loader
        2.配置 
        3.打包 webpack
  • webpack.config.js 配置 loader加载器(依赖)
const path = require('path');

module.exports={
    // 配置模式是(开发模式)
    mode:'development',
    // 入口
    entry:'./main.js',

    // 出口
    output:{
        filename:'dabao.js',
        // 自定义名称
        path: path.resolve(__dirname,'dist')
        // 放在dist下
    },
    // 配置loader
    module:{
        rules:[
            {
                test: /\.css$/,
                use: ['style-loader', 'css-loader']
            },
            {
                test: /\.less$/,
                use: ['style-loader','css-loader','less-loader']
            }
        ]
    }
}
  • 其中要注意的是,因为less是基于css的插件,因此安装less依赖要生效必须得安装css依赖
3.plugins 插件
  • 增加额外的功能
  • html插件,html-webpack-plugin
  • 安装
npm i html-webpack-plugin -g
npm i html-webpack-pligin --save-dev
  • 配置
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports={
    mode:'development',
    entry:'./main.js',
    output:{
        filename:'index.js',
        path: path.resolve(__dirname,'dist')
    },

    module:{
        rules:[
            {
                test: /\.css$/,
                use: ['style-loader', 'css-loader']
            },
            {
                test: /\.less$/,
                use: ['style-loader', 'css-loader', 'less-loader']
            }
        ]
    },

    plugins:[
        new HtmlWebpackPlugin({template:'./dist/index.html'})
    ]
}
  • Cannot find module ‘webpack/lib/node/NodeTemplatePlugin’ 解决方案
    npm link webpack --save-dev
    webpack.DefinePlugin 配置全局变量
4.dev-server
  • 安装 npm i webpack-dev-server -g
  • 配置htmlWebpackPlugin(上面有)
  • 配置devServer
const path=require('path');

module.exports={
    entry:'./main.js',
    output:{
        filename:'index.js',
        path: path.resolve(__dirname,'dist')
    },
    module:[

    ],
    plugins:[

    ]
    ,
    devServer:{
        contentBase:path.join(__dirname,"dist"),
        compress:true,
        port:9000
    }
}
  • 运行命令 webpack-dev-server
5.devtool配置
  • 作用:选择一种调试代码的方式
  • 配置
    image.png
  • 这里选择的是eval模式
  • 还有source-map
  • eval-source-map
  • cheap-source-map
    详细可以点击这里了解https://www.webpackjs.com/concepts/
    #####小总结
  • 1.npm i webpack -g、npm i webpack-cli -g会生成一个文件夹
  • 2.node_modules里是存放我们配置的所有依赖和插件的地方
  • 3.package.json 里记录着我们所配置的消息
    模板删完后,npm i 可以全部下载回来 就是通过这个文件的记录下载的
  • 4.package-lock.json这个文件不能动
  • 5.我们自己创建的webpack.config.js里是配置所有东西的地方
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值