zoukankan      html  css  js  c++  java
  • webpack从头捋

    一、webpack 的概念和基础使用

    1.安装和使用

    全局安装   npm install webpack webpack-cli -g

    依赖安装 npm init    npm install webpacl -D

    2.npm scripts  npm 脚本

    npm允许在package.json 文件里面,使用scripts字段定义脚本命令

    {

    "scripts": {

           "build" : "node build.js"

       }

    }

    上面代码时package.json文件的片段,里面的scripts字段是一个对象.它的每一个属性,对应一段脚本。比如,build命令对应的脚本是node build.js

    命令行下使用npm run 命令,就可以执行这段脚本。

    $ npm run build  #等价于   $ node build.js

    这些定义在package.json里面的脚本,就称为npm脚本.

    3.入口

    在多个代码模块中会有一个起始的.js文件,这个便是webpack构建的入口.

    webpack会读取这个文件,并从它开始解析依赖,然后进行打包。

    一般情况下webpack默认的入口文件就是./src/index.js.

    4.loader(装载机)

    webpack中提供一种处理多种文件格式的机制,便是使用loader.我们可以把loader理解

    成一个转换器,负责把某种文件格式的内容转换成webpack可以支持打包的模块.

    在没有添加额外插件的情况下,webpack会默认把所有依赖打包成js文件,如果入口文件

    依赖一个.hbs的模板文件以及一个.css的样式文件,那么我们需要handlebars-loader来处理

    .hbs文件,需要css-loader来处理.css文件,最终把不同格式的文件都解析成js代码,

    以便打包后在浏览器中运行。

    5.plugin(插件)

    在webpack的构建流程中,plugin用于处理更多其他的一些构建任务。可以这么理解,模块代码

    转换的工作由loader来处理,除此之外的其他任何工作都可以交由plugin来完成。通过添加我们

    需要的plugin,可以满足更多构建中特殊的需求。例如,要使用压缩JS代码的

    uglifys-webpack-plugin插件,只需在配置中通过plugins字段添加新的plugin即可

    除了压缩JS代码的uglifyjs-webpack-plugin,常用的还有定义环境变量的DefinePlugin,

    生成css文件的ExtractTextWebpackPlugin等.

    6.输出

    webpack的输出即指webpack最终构建出来的静态文件。

     7.各种玩具

    html-webpack-plugin  会为我们创建一个html文件,其中会引用构建出来的JS文件。

    实际项目中,默认创建的HTML文件并没有什么用,我们需要自己来写HTML文件,

    可以通过html-webpack-plugin的配置传递一个写好的html模板

    css-loader 负责解析css代码,主要是为了处理 CSS 中的依赖,例如 @import 和 url()

    style-loader 会将css-loader解析的结果变成js代码,运行时动态插入style标签

    让css代码生效

    extract-text-webpack-plugin 可以单独将css文件分离出来

  • 相关阅读:
    ExtJs 4 的filefield上传后 返回值success接受不正常
    winform treeview 通过节点名称添加子节点
    Live Writer Test
    mysqlcluster笔记
    ExtJS中form提交之后获取返回的json值
    MYSQL大小写(由于数据由windows迁移到Linux导致)
    ORACLE分科目统计每科前三名的学生的语句
    一列数据横排显示
    Oracle11g使用exp导出空表
    myeclipse2015卸载、安装、破解全过程-----myeclipse2015
  • 原文地址:https://www.cnblogs.com/zzzzzzzsy/p/9831119.html
Copyright © 2011-2022 走看看