webpack 简单笔记(一)
安装部分不介绍了
(一)第一个最简单的demo,单入口,单文件
目录结构:

webapck.config.js中代码:
'use strict'
const path = require('path'); module.exports = {
entry:{
main:'./main.js' //入口文件
},
output:{
path: path.resolve(__dirname, './dist'),
filename:'main.js' //输出的文件
}
}
main.js中的代码
require('./static/js/main1.js')
console.log('I`m main.js');
我是通过npm脚本运行的webpack
{
"name": "demo1",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"build": "webpack"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"webpack": "^3.10.0"
}
}
在控制台输入
npm run build
我们就看到了在dist文件夹是生成了 main.js文件,这个就是打包出来了。里面包含了main.js,main1.js
(二)单一入口,模块重复引用
我们现在变一下main.js,和main1.js
main.js
require('./static/js/main1.js')
require('./static/js/main2.js')
console.log('I`m main.js');
main1.js
require("./main2.js");
var chunk1=;
exports.chunk1=chunk1;
就是main.js里引用了main1.js,main2.js,而main1.js中也引用了main2.js

生成的main.js中是
/***/ (function(module, exports, __webpack_require__) {
__webpack_require__()
__webpack_require__()
console.log('I`m main.js');
/***/ }),
/* 2 */
/***/ (function(module, exports, __webpack_require__) {
__webpack_require__();
var chunk1=;
exports.chunk1=chunk1;
/***/ })
/******/ ]);
可以看到main2.js的模块id是0,main.js的模块id是1,main1.js的模块id是2
webpack引用使用的是模块id
(三)多个entry入口,分文件输出
修改webpack.config.js
module.exports = {
entry:{
main:'./main.js',
main:'./maindemo.js'
},
output:{
path: path.resolve(__dirname, './dist'),
filename:'[name].js'
}
}
其中main.js与maindemo.js的代码一致同上面的一样
在dist中生成main.js
/***/ (function(module, exports) {
var chunk2=;
exports.chunk2=chunk2;
console.log('chunk2')
/***/ }),
/* 1 */
/***/ (function(module, exports, __webpack_require__) {
__webpack_require__()
__webpack_require__()
console.log('I`m maindemo.js');
/***/ }),
/* 2 */
/***/ (function(module, exports, __webpack_require__) {
__webpack_require__();
var chunk1=;
exports.chunk1=chunk1;
console.log('chunk1')
/***/ })
(三)多个entry入口 ,一个文件输出
module.exports = {
entry:{
main:'./main.js',
main:'./maindemo.js'
},
output:{
path: path.resolve(__dirname, './dist'),
filename:'bundle.js'
}
}
成生的build.js与上面生成的main.js是一样的
上面的这些是最基本的使用webpack,并没有使用插件,接下来我们认识一下
CommonsChunkPlugin
http://www.cnblogs.com/myzy/p/8427782.html
webpack 简单笔记(一)的更多相关文章
- webpack简单笔记
本文简单记录学习webpack3.0的笔记,已备日后查阅.节省查阅文档时间 安装 可以使用npm安装 //全局安装 npm install -g webpack //安装到项目目录 npm insta ...
- webpack 简单笔记(三)vue-cli 使用 webpack-bundle-analyzer 分析
当我们使用CommonsChunkPlugin插件时可以使用webpack-bundle-analyzer插件来分析分块是否达到我们的目地 安装 npm install --save-dev webp ...
- webpack 简单笔记(二)CommonsChunkPlugin插件
接下来就要使用CommonsChunkPlugin插件 (一)单一入口,模块单一引用,分文件输出,单一入口,模块重复引用,分文件输 main.js代码 require('./static/js/mai ...
- 【原】webpack学习笔记
之前在react的项目中有用过webpack,不过没有认真的去研究,这段时间又重新好好的学习一下webpack,发觉 webpack是一个很强大的东西.而且很好用,方便,接下来主要是做一下学习的笔记 ...
- mybatis-config.xml简单笔记
mybatis-config.xml简单笔记 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ...
- applicationContext.xml简单笔记
applicationContext.xml简单笔记 <?xml version="1.0" encoding="UTF-8"?> <bean ...
- Python学习笔记2-flask-sqlalchemy 简单笔记
flask-sqlalchemy 简单笔记 字数 阅读 评论 喜欢 flask-sqlalchemy SQLAlchemy已经成为了python世界里面orm的标准,flask是一个轻巧的web框架, ...
- webpack入门笔记
此为第一篇主要是webpack入门笔记: http://if-true.com/2015/10/16/webpack-tutorial-translate.html
- Android_简单笔记一
入门学习Android的简单笔记(已经安装好了开发环境ADT) 一.关于 AndroidManifest.xml文件 1. android:icon和android:label定义了应用程序安装后显示 ...
随机推荐
- javascript中内置函数
一.基本函数库 split():用于把一个字符串分割成字符串数组 toUpperCase(): substr(): 长度 length() 拼接(两种) + concat():合并多个字符串,并返回合 ...
- dict,list强制类型转换
单列集合中如果装的元素都是双列,那么可以通过dict()强制转换为字典 a=[(1,1),(2,2),(3,3)] print(dict(a)) #{1:1,2:2,3:3} b=[1,2,3] pr ...
- BOM DOM 简介
BOM和DOM简介 BOM,Browser Object Model ,浏览器对象模型. BOM主要提供了访问和操作浏览器各组件的方式. 浏览器组件: window(浏览器窗口) locati ...
- GIT学习记录3(分支管理)
学习参考地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 本编随笔只是自己对 ...
- Git 学习(二)Git 基础
Git 基础 Git 在保存和对待各种信息的时候与其它版本控制系统如 SVN 等等有很大差异,尽管操作起来的命令形式非常相近,理解这些差异将有助于防止你使用中的困惑. Git 记录的是什么? 如果有使 ...
- 20140502 static_cast和dynamic_cast的类型检查 双链表建立,删除,打印
1.static_cast和dynamic_cast的类型检查 static_cast的类型检查:只检查无关类之间的转换 CBaseY* pY1 = static_cast<CBaseY*> ...
- Vue项目的配置项
目录 Vue项目的配置项 配置项 加载全局css文件 加载全局js文件 store仓库的配置和简单用法 BootStrap环境和jQuery的配置 前端后端交互(CORS问题) axios配置项(前端 ...
- springboot整合thymeleaf手动渲染
Thymeleaf手动渲染 为提高页面访问速度,可缓存html页面,客户端请求从缓存获取,获取不到再手动渲染 在spring4下 @Autowired ThymeleafViewResolver th ...
- javascript面向对象编程笔记(基本数据类型,数组,循环及条件表达式)
javascript面向对象编程指南 最近在看这本书,以下是我的笔记,仅供参考. 第二章 基本数据类型.数组.循环及条件表达式 2.1 变量 区分大小写 2.3 基本数据类型 数字:包括浮点数与整数 ...
- POST提交数据之---Content-Type的理解
Content-Type是指http/https发送信息至服务器时的内容编码类型,contentType用于表明发送数据流的类型,服务器根据编码类型使用特定的解析方式,获取数据流中的数据. 在网络请求 ...