zoukankan      html  css  js  c++  java
  • webpack2学习(二)

    webpack 最难理解的点是 ‘编译’这个概念

    在main.js中操作dom 修改页面内容

    eg

    document.getElementById('app').innerHTML = 'hello xxx'
    

    热更新:在工程启动时, 保存main.js, 会发现页面自动更新了,这是webpack-web-server的热更新功能(通过建立一个Websocket连接来实现响应代码的修改)

    完善webpack配置文件

    webpack最重要的功能 - 加载器(Loaders)

    webpack中每个文件都是一个模块,不同的模块,需要不同的加载器来加载, 所以就需要安装不同的加载器对各种后缀名的文件进行处理。
    eg: css样式
    安装 style-loader css-loader

    yarn add css-loader --save-dev
    yarn add style-loader --save-dev
    

    安装后, 在webpack.config.js中配置loader

    在module对象的rules属性中去指定一系列的loaders,
    每个loader必须包含test和use两个选项。

    // 解释: 当webpack编译过程中遇到require() 或import语句导入一个后缀为.css的文件时,现将它通过css-loader转换,再通过style-loader转换,然后继续打包
    // (use选项的值可以是数组也可是字符串,如果是数组编译顺序为从下至上)
    module: {
            rules: [
                {
                    test: /.css$/,
                    use: [
                        'style-loader',
                        'css-loader'
                    ]
                }
            ]
        }
    

    新建文件style.css,随便写几个样式
    将style.css文件引入到main.js中

    // 新建文件 打开文件 (当然你也可以手动打开)
    touch style.css
    open style.css
    
    // style.css
    #app {
        font-size: 30px;
        color: lightblue;
    }
    
    //main.js
    import './style.css'
    

    重新执行yarn run dev

    页面会加载你写的样式

    webpack的插件功能

    插件功能强大 并且可以定制

    这里以 extract-text-webpack-plugin的插件为例

    • 作用: 把散落在各地的css提取出来,并生成一个main.css文件,最终在index.html里通过link的形式加载它

    安装

     yarn add extract-text-webpack-plugin --dev
    

    改写配置

    module: {
            rules: [
                {
                    test: /.css$/,
                    use: ExtractTextPlugin.extract({
                        use: 'css-loader',
                        fallback: 'style-loader'
                    })
                }
            ]
        },
        plugins: [
            //重命名提取后的css文件
            new ExtractTextPlugin("main.css")
        ]
    

    在index.html中通过link添加main.css

        <link rel="stylesheet" type="text/css" href="/dist/main.css">
    
    

    执行

    yarn run dev
    

    总结

    webpack看似复杂,其实只不过是一个js配置文件
    只要弄清楚4个概念:

    • 入口 entry
    • 出口 output
    • 加载器 Loaders
    • 插件 Plugins
  • 相关阅读:
    Systemd 入门教程:实战篇
    Systemd 入门教程:命令篇
    awk详解
    yum Multilib version problems
    Oracle ORA 12541 报错解决过程
    创建表空间
    大文件按行分离脚本
    heartbeat安装与配置
    Keepalived安装配置
    速查表的名称和建表语句
  • 原文地址:https://www.cnblogs.com/lmx093418/p/9991571.html
Copyright © 2011-2022 走看看