• webpack 学习笔记


    基于 node 环境, 必须确保 node 已经安装好了。
    验证: node -v
    npm -v

    一些小命令积累: {
        $ npm install -g cnpm --registry=https://registry.npm.taobao.org (cnpm代替npm)
        cls: 清除(cmd中的命令)
        clear: 清除(git中的命令)
    }

    安装 webpack:

    1. 安装 webpack 命令环境

    终端: cnpm install webpack -g
    验证: webpack --version


    2. package.json 工程文件(需要依赖模块,库描述,版本,作者...)

    终端: npm init
    验证: 生成 package.json 文件


    3. 安装本地 webpack

    终端: cnpm install webpack -D 解释: (-D 等价于 --save-dev, 会配置到 webpack.json 的 devDependencies 属性中; --save, 会配置到 webpack.json 的 dependencies 属性中)
    验证: 本地文件下多了个 node_modules 目录


    `````````````````````````````````````````````````````````````
    webpack 使用:

    1) webpack 第一个小例子:

    准备:
    index.html 首页文件 (编写页面, 载入bundle.js,它是通过webpack编译打包的)
    entry.js 入口文件 (编写js源码)

    说明: entry.js的源码通过编译打包后,被index.html引入。

    怎么编译 entry.js 文件 ?
    终端: webpack entry.js bundle.js (必须当前目录下)

    2) webpack 第二个小例子(自动解决依赖commonJs规范):

    准备:
    exports1.js 模块文件,然后被 entry.js 引入,然后 webpack entry.js bundle.js 编译打包成 bundle.js, 遵循commonJs规范。

    3) webpack 默认只支持 javascript 文件模块化

    要转化css或者图片等其他,需要用加载器(loader),
    loader类似一种转化器, 他可以把一个东西转成另一个东西

    载入css文件:
    准备:
    style.css 被entry.js引入,然后编译打包, 但是不能直接编译css文件。

    需要安装2个模块:
    style-loader
    css-loader
    终端: cnpm install style-loader css-loader -D
    使用: require('style!css!./style.css')或者require('style-loader!css-loader!./style.css'); 说明: 在webpack中多个loader加载使用 ! 连接


    4) 配置 webpack.config.js 使用很方便 (每次编译打包都使用 webpack entry.js bundle.js 麻烦)

    作用: 配置一些 webpack 需要的入口, 出口, loader

    webpack 终端一些命令:
    webpack 开发环境下编译(打包)
    webpack -p 生产环境下编译(压缩)
    webpack -w watch监听文件改动,自动编译(速度快,只要在浏览器点击刷新,即可刷新了,不需要webpack一下)
    webpack -d 开启(生成)source maps(对我来说是必须的,我要调试,哈哈)

    webpack -dwp 一次性都开启(就这么一个命令就够了)

    但是webpack.config.js中配置了 devtool: 'source-map', 所以以后直接用 webpack -wp 即可


    5) Es6 -> babel转化

    babel使用:
    终端: cnpm install babel-loader babel-core babel-preset-es2015 -D

    安装完,不一定可以使用,需要配置如下:

    配置babel预设:
    1). webpack.config.js
    babel: {
        "presets": ["es2015"]
    } // 不推荐
    2). babelrc配置 通过 touch .babelrc 生成
    {
        "presets": ['es2015']
    }

    `````````````````````````````````````````````````````````````

    webpack.config.js 配置

    module.exports = {
        entry: './js/entry.js',
        output: {
            filename: 'js/bundle.js'
        },
        devtool: 'source-map',
        module: {
            loaders: [{
                test: /.css$/,
                loader: 'style!css'
            }, {
                test: /.js$/,
                loader: 'babel',
                exclude: /node_modules/
           }]
        }
    };

    开心的做一个无忧无虑的码农,争取每天进步一点。
  • 相关阅读:
    leetcode——202.快乐数
    leetcode——136. 只出现一次的数字
    leetcode——74.搜索二维矩阵
    leetcode——240.搜索二维矩阵
    leetcode——414.第三大的数
    020 迭代器模式
    019 模板模式
    018 中介者模式
    017 命令模式
    016 责任链模式
  • 原文地址:https://www.cnblogs.com/sorrowx/p/6479103.html
Copyright © 2020-2023  润新知