美文网首页
webpack简单使用

webpack简单使用

作者: 樊小勇 | 来源:发表于2019-03-30 10:51 被阅读0次

    一、webpack简介

    1.webpack是什么
    • webpack项目打包工具,项目构建工具
    2.webpack有什么用
    • 构建单页应用(disk) nmp run build
    • 代码压缩
    • npm i http-server -g 安装http-server 可以将文件转化成服务
    3.同类工具
    • 百度fis3
    • grunt
    • gulp

    二、webpack安装

    三、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里是配置所有东西的地方

    相关文章

      网友评论

          本文标题:webpack简单使用

          本文链接:https://www.haomeiwen.com/subject/rlyrbqtx.html