官网:https://www.webpackjs.com/     参考网址:https://www.cnblogs.com/cangqinglang/p/8964460.html

1.webpack简述:是一个前端资源加载/打包工具。

一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle

2.webpack的核心概念

入口entry:指示 webpack 应该使用哪个模块,来作为构建其内部依赖图的开始,默认./src,可以配置。

出口output:告诉 webpack 在哪里输出它所创建的 bundles,以及如何命名这些文件,默认值为./dist,可以配置。

loader(加载器?):处理非js文件(webpack 自身只理解 JavaScript)。

插件plugins

模式:设置开发模式 development 或 production(mode参数)。

3.安装webpack

使用webpack的前提是了解npm和安装了node.js(百度下载然后下一步下一步安装即可)。根据官网API一步一步的操作就可以。认识了解package.json也很有必要,文档API讲的很清楚了。网上的视频大多数都是早期的,现在webpack已经更新到4.17.1,还是官方文档比较靠谱。

(1)选择合适的地方建个文件夹,初始化 npm,然后 在本地安装 webpack,接着安装 webpack-cli。在命令行中运行win+R→cmd

mkdir webpack-demo && cd webpack-demo
npm init -y
npm install webpack webpack-cli --save-dev
 
 

(2)在文件夹下创建以下目录结构、文件和内容:

index.js

import _ from 'lodash';

function component() {
var element = document.createElement('div');

// Lodash, currently included via a script, is required for this line to work
// Lodash, now imported by this script
element.innerHTML = _.join(['Hello', 'webpack'], ' ');

return element;
}

document.body.appendChild(component());

index.html

<!doctype html>
<html>

<head>
<meta charset="UTF-8">
<title>起步</title>
</head>

<body>
<script src="main.js"></script>
</body>

</html>

(3)调整 package.json 文件,以便确保我们安装包是私有的(private),并且移除main 入口 

4.创建一个bundle文件(使用webpack打包 )

(1)要在 index.js 中打包 lodash 依赖,我们需要在本地安装 library:
npm install --save lodash

(2)进行打包,会自动创建打包后的main.js文件(boundle),自己会处理index.js中引入的import:
——执行 npx webpack,会将我们的脚本作为入口起点,然后 输出 为 main.js。Node 8.2+ 版本提供的 npx 命令,可以运行在初始安装的 webpack 包(package)的 webpack 二进制文件(./node_modules/.bin/webpack):
npx webpack

(3)在浏览器中打开 index.html,如果一切访问都正常,你应该能看到以下文本:'Hello webpack'。

注意到package文件的配置项自动修改了。入口修改为main.js

												

Webpack 学习手记的更多相关文章

  1. Linux.NET学习手记(7)

    前一篇中,我们简单的讲述了下如何在Linux.NET中部署第一个ASP.NET MVC 5.0的程序.而目前微软已经提出OWIN并致力于发展VNext,接下来系列中,我们将会向OWIN方向转战. 早在 ...

  2. Linux.NET学习手记(8)

    上一回合中,我们讲解了Linux.NET面对OWIN需要做出的准备,以及介绍了如何将两个支持OWIN协议的框架:SignalR以及NancyFX以OwinHost的方式部署到Linux.NET当中.这 ...

  3. 关于《Linux.NET学习手记(8)》的补充说明

    早前的一两天<Linux.NET学习手记(8)>发布了,这一篇主要是讲述OWIN框架与OwinHost之间如何根据OWIN协议进行通信构成一套完整的系统.文中我们还直接学习如何直接操作OW ...

  4. EF框架学习手记

    转载: [ASP.NET MVC]: - EF框架学习手记 1.EF(Entity Framework)实体框架EF是ADO.NET中的一组支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架 ...

  5. 【原】webpack学习笔记

    之前在react的项目中有用过webpack,不过没有认真的去研究,这段时间又重新好好的学习一下webpack,发觉 webpack是一个很强大的东西.而且很好用,方便,接下来主要是做一下学习的笔记 ...

  6. webpack学习(入门基础)

    webpack的学习webpack是什么?1:加载模块(将JS.sass/less.图片等作为模块来处理使用) 2:进行打包 webpack的优势?1:webpack以commonJS(JS的规范)的 ...

  7. ExtJS MVC 学习手记3

    在演示应用中,我们已经创建好了viewport,并为之添加了一个菜单树.但也仅仅是这样,点击树或应用的其他地方获得不到任何响应.这个演示应用还是一个死的应用. 接下来,我们让这个应用活起来. 首先,给 ...

  8. ExtJS MVC学习手记

    开始学习ExtJS的MVC了.这篇文章仅是用来做一个目录,为自己这个阶段的学习内容做个索引. 手记涉及的文章: EXTJS MVC结构(译自ExtJS4.0文档中的<MVC Architectu ...

  9. webpack学习笔记(二)-- 初学者常见问题及解决方法

    这篇文章是webpack学习第二篇,主要罗列了本人在实际操作中遇到的一些问题及其解决方法,仅供参考,欢迎提出不同意见. 注:本文假设读者已有webpack方面相关知识,故文中涉及到的专有名词不做另外解 ...

随机推荐

  1. Doctrine2-基础概念

    使用框架操作数据库的几个要求 1.安全,比如防止sql注入等,pdo里面prepare,execute 就可以 2.性能,数据库操作是最基本的操作,频繁使用,需要考虑到执行效率 3.ORM(objec ...

  2. debian安装mongoDB

    wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.8.2.tgz tar zxf mongodb-linux-i686-1.8.2.t ...

  3. fixed定位文本框引发的问题

    <!-- 代码段1 --> <body> <!-- 可以滚动的区域 --> <main id="J_box"> <!-- 内容 ...

  4. 15树莓派安装图形界面截图工具Shutter

    2017-09-27 13:02:54 参数-添加/删除软件-搜索软件名称“shutter”,勾选,点击“应用”,等待安装完成后点击“确定”.(需下载安装包后安装) 补充:更多截图软件可以https: ...

  5. Petrozavodsk Summer-2017. Warsaw U Contest

    A. Connectivity 设$f[i][j]$为第$i$张图中$j$点所在连通块的编号,加边时可以通过启发式合并在$O(dn\log n)$的时间内维护出来. 对于每个点,设$h[i]$为$f[ ...

  6. MBA 拓展训练总结

    1. 拓展训练,大家绑腿跑 沟通时间极短, 规则制定不完善, 对方'王者队'沟通很好, 女队练习的同时, 男队边观看边练习, 效率很高, 由于之前王者输的比较多, 总结很多, 所以执行力也占优了, 我 ...

  7. vue_过滤器: 对要显示的数据进行特定格式化后再显示

    过滤器 对要显示的数据进行特定格式化后再显示 并未改变原本的数据,可是产生新的对应的数据 <!DOCTYPE html> <html lang="en"> ...

  8. ubuntu16.04 anaconda的安装和卸载

    第一次安装: 1.直接从官网下载了anaconda安装包,然后bash ...sh安装. 2.过程中主要需要选择安装路径,为了把安装的软件都放在一起,我新建了一个install_software在系统 ...

  9. 触发器中的after与before理解

    做一个表的insert的trigger,目的是只修改插入行的字段. CREATE OR REPLACE TRIGGER TR_RME_SLOT BEFORE INSERT ON RME_SLOT FO ...

  10. IEnumerable、IEnumerator、ICollection、IList、List的继承关系及简单使用

    IEnumerable和IEnumerable<T>接口在.NET中是非常重要的接口,它允许开发人员定义foreach语句功能的实现并支持非泛型方法的简单的迭代,IEnumerable和I ...