深入浅出webpack教程系列_安装与基本打包用法和命令参数详解


Posted in Javascript onSeptember 10, 2017

webpack,我想大家应该都知道或者听过,Webpack是前端一个工具,可以让各个模块进行加载,预处理,再进行打包。现代的前端开发很多环境都依赖webpack构建,比如vue官方就推荐使用webpack.废话不多说,我们赶紧开始吧.

第一步、安装webpack

新建文件夹webpack->再在webpack下面新建demo->命令行切换到demo目录,使用npm init --yes 初始化项目的package.json文件,然后执行npm install webpack --save-dev

深入浅出webpack教程系列_安装与基本打包用法和命令参数详解

第二步、全局安装webpack(3.5.6版本): npm install webpack@3.5.6 -g 安装完成之后用webpack -v 查看webpack的版本

深入浅出webpack教程系列_安装与基本打包用法和命令参数详解

第三步、新建一个index.js文件,输入一个函数,弹出一些信息,然后调用函数,最后用webpack 打包( webpack index.js index.bundle.js ):把index.js文件打包成index.bundle.js

深入浅出webpack教程系列_安装与基本打包用法和命令参数详解

就会在当前的目录下面生成index.bundle.js文件.

第四步、新建一个index.html文件,然后引入index.bundle.js 就能使用这个js文件了

深入浅出webpack教程系列_安装与基本打包用法和命令参数详解

第五步、把两个js文件一起打包合并

另外在当前目录下面新建一个calc.js文件,然后在用module.exports导出

深入浅出webpack教程系列_安装与基本打包用法和命令参数详解

然后在index.js文件中用var oCalc = require( './calc.js' )引入calc.js, 在调用函数oCalc.add( 10, 20 ), 那现在就有了两个函数在index.js中了, 再次执行命令

webpack index.js index.bundle.js, 合并打包之后, 重新刷新下index.html,是不是弹出了add函数的结果呢?

第六步、loader的使用

在当前目录下新建style.css文件,然后用require引入index.js文件中, 执行一次打包(webpack index.js index.bundle.js),这个时候会报错,报错信息显示为(你需要loader去处理css文件).

深入浅出webpack教程系列_安装与基本打包用法和命令参数详解

第七步、安装与使用loader

我们需要安装两个loader,css-loader,style-loader( 安装命令: npm install css-loader style-loader --save-dev ), 再用require加载

深入浅出webpack教程系列_安装与基本打包用法和命令参数详解

再次执行一次打包( webpack index.js index.bundle.js ),然后刷新index.html文件, 看看是否css文件中的body{ background: red } 生效了呢(浏览器body的背景变红)?

第八步、更详细的打包信息

webpack打包,后面可以跟很多参数,如:

--progress: 打包进度

--display-modules: 打包的模块

--colors: 是否彩色显示 打包提示信息

--display-reasons: 打包原因

--watch: 自动监控文件变化

等等,还有很多,可以参考官网

深入浅出webpack教程系列_安装与基本打包用法和命令参数详解

后面还有插件,配置等等很多项目开发中的常见的知识额

以上这篇深入浅出webpack教程系列_安装与基本打包用法和命令参数详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript定义变量时有var和没有var的区别探讨
Jul 21 Javascript
node.js中的url.format方法使用说明
Dec 10 Javascript
js计算德州扑克牌面值的方法
Mar 04 Javascript
原生js实现倒计时功能(多种格式调用)
Jan 12 Javascript
js手机号4位显示空格,银行卡每4位显示空格效果
Mar 23 Javascript
JavaScript实现随机数生成器(去重)
Oct 13 Javascript
JavaScript中Object值合并方法详解
Dec 22 Javascript
js中自定义react数据验证组件实例详解
Oct 19 Javascript
vue input输入框关键字筛选检索列表数据展示
Oct 26 Javascript
JavaScript的Proxy可以做哪些有意思的事儿
Jun 15 Javascript
el-input 标签中密码的显示和隐藏功能的实例代码
Jul 19 Javascript
JS+css3实现幻灯片轮播图
Aug 14 Javascript
基于AngularJS的简单使用详解
Sep 10 #Javascript
JS获取字符对应的ASCII码实例
Sep 10 #Javascript
Angular4学习笔记之根模块与Ng模块
Sep 09 #Javascript
关于vue-router的beforeEach无限循环的问题解决
Sep 09 #Javascript
浅谈Express异步进化史
Sep 09 #Javascript
vue组件学习教程
Sep 09 #Javascript
weex里Vuex state使用storage持久化详解
Sep 09 #Javascript
You might like
php实现模拟登陆方正教务系统抓取课表
2015/05/19 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
2017/09/16 PHP
php装饰者模式简单应用案例分析
2019/10/23 PHP
javascript笛卡尔积算法实现方法
2015/04/08 Javascript
jQuery获取checkboxlist的value值的方法
2015/09/27 Javascript
基于JavaScript实现类似于百度学术高级检索功能
2016/03/02 Javascript
JS实现为排序好的字符串找出重复行的方法
2016/03/02 Javascript
使用vue.js开发时一些注意事项
2016/04/27 Javascript
JS 面向对象之继承---多种组合继承详解
2016/07/10 Javascript
Vue学习笔记进阶篇之过渡状态详解
2017/07/14 Javascript
JavaScript中关于class的调用方法
2017/11/28 Javascript
angular2实现统一的http请求头方法
2018/08/13 Javascript
JS实现的合并两个有序链表算法示例
2019/02/25 Javascript
vue router动态路由设置参数可选问题
2019/08/21 Javascript
Python ORM框架SQLAlchemy学习笔记之数据查询实例
2014/06/10 Python
Pyhton中防止SQL注入的方法
2015/02/05 Python
Python多进程机制实例详解
2015/07/02 Python
详解Python中dict与set的使用
2015/08/10 Python
python导出hive数据表的schema实例代码
2018/01/22 Python
pandas将多个dataframe以多个sheet的形式保存到一个excel文件中
2019/10/10 Python
Tensorflow的常用矩阵生成方式
2020/01/04 Python
python GUI库图形界面开发之PyQt5动态加载QSS样式文件
2020/02/25 Python
Python socket连接中的粘包、精确传输问题实例分析
2020/03/24 Python
ipython jupyter notebook中显示图像和数学公式实例
2020/04/15 Python
Python 如何实现数据库表结构同步
2020/09/29 Python
基于python获取本地时间并转换时间戳和日期格式
2020/10/27 Python
PyTorch中clone()、detach()及相关扩展详解
2020/12/09 Python
pandas按照列的值排序(某一列或者多列)
2020/12/13 Python
环境科学毕业生自荐信
2013/11/21 职场文书
新闻发布会策划方案
2014/06/12 职场文书
物流专业专科生职业生涯规划书
2014/09/14 职场文书
2015年仓库管理工作总结
2015/05/25 职场文书
2015年除四害工作总结
2015/07/23 职场文书
PHP解决高并发问题
2021/04/01 PHP
css实现文章分割线样式的多种方法总结
2021/04/21 HTML / CSS
MySQL 主从复制数据不一致的解决方法
2022/03/18 MySQL