三种Webpack打包方式(小结)


Posted in Javascript onSeptember 19, 2018

准备工作

mkdir webpack_demo && cd webpack_demo  #新建文件夹
npm init  #创建package.json文件
npm install --save-dev webpack #安装依赖(非全局安装)
mkdir app && mkdir public  #新建app和public文件夹
cd app && cd.>Greeter.js && cd.>main.js #app文件夹中创建Greeter.js和main.js
cd .. && cd public && cd.>index.html  #public文件夹中创建index.html

index.html写入如下内容:

<!-- index.html -->
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8"> 
    <title>Webpack Demo</title>
  </head>
<body>
  <div id='root'> </div> 
<script src="bundle.js"></script> 
</body> 
</html>

Greeter.js写入如下内容:

// Greeter.js
 module.exports = function() { 
  var greet = document.createElement('div'); 
  greet.textContent = "Hello webpack!"; 
  return greet;
 };

main.js写入如下内容:

//main.js
const greeter = require('./Greeter.js');
document.querySelector("#root").appendChild(greeter());

正式使用Webpack

1. 通过node_modules/.bin/webpack app/main.js public/bundle.js命令

结果:

三种Webpack打包方式(小结)

此时,public文件夹里面多出了一个bundle.js文件,打开index.html出现Hello webpack!

三种Webpack打包方式(小结) 

2. 通过配置文件

在项目根目录下(和package.json同级)新建webpack.config.js,填入如下内容:

module.exports = { 
  entry: __dirname + "/app/main.js",//已多次提及的唯一入口文件 
  output: { 
    path: __dirname + "/public",//打包后的文件存放的地方 
    filename: "bundle.js"//打包后输出文件的文件名 
    }
}

然后在终端运行

node_modules\.bin\webpack

该命令会自动调用webpack.config.js文件中的配置。

3. 更快的方式

第二种其实输入的命令也比较麻烦,我们可以在添加了webpack.config.js后,再在package.json中对scripts进行配置。

{
 "name": "webpack_demo",
 "version": "1.0.0",
 "description": "",
 "main": "index.js",
 "scripts": {
  "test": "webpack"
 },
 "author": "",
 "license": "ISC",
 "devDependencies": {
  "webpack": "^3.6.0"
 }
}

在scripts中修改成键值对:”test”:”webpack”,在终端直接输入命令:

npm test

注意:

如果将test改成test1则会报错:

{
 "name": "webpack_demo",
 "version": "1.0.0",
 "description": "",
 "main": "index.js",
 "scripts": {
  "test1": "webpack"
 },
 "author": "",
 "license": "ISC",
 "devDependencies": {
  "webpack": "^3.6.0"
 }
}

输入

npm test1

提示信息如下:

三种Webpack打包方式(小结) 

就是命令的名字需要是列举的那一堆里面的,例如start,然后npm start。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js中substring和substr的详细介绍与用法
Aug 29 Javascript
jQuery图片轮播的具体实现
Sep 11 Javascript
微信小程序教程之本地图片上传(leancloud)实例详解
Nov 16 Javascript
利用HTML5+Socket.io实现摇一摇控制PC端歌曲切换
Jan 13 Javascript
JavaScript数据结构之二叉树的查找算法示例
Apr 13 Javascript
bootstrap常用组件之头部导航实现代码
Apr 20 Javascript
jquery实现用户登陆界面(示例讲解)
Sep 06 jQuery
jQuery实现的页面弹幕效果【测试可用】
Aug 17 jQuery
微信小程序-form表单提交代码实例
Apr 29 Javascript
浅谈vue.use()方法从源码到使用
May 12 Javascript
Node.js实现简单的爬取的示例代码
Jun 25 Javascript
vue修改Element的el-table样式的4种方法
Sep 17 Javascript
Vue.js更改调试地址端口号的实例
Sep 19 #Javascript
vue添加axios,并且指定baseurl的方法
Sep 19 #Javascript
vue中的计算属性实例详解
Sep 19 #Javascript
Vue axios设置访问基础路径方法
Sep 19 #Javascript
json前后端数据交互相关代码
Sep 19 #Javascript
解决vue动态为数据添加新属性遇到的问题
Sep 18 #Javascript
vue webpack开发访问后台接口全局配置的方法
Sep 18 #Javascript
You might like
虫族 Zerg 历史背景
2020/03/14 星际争霸
在PHP中使用灵巧的体系结构
2006/10/09 PHP
基于php实现长连接的方法与注意事项的问题
2013/05/10 PHP
跟我学Laravel之请求与输入
2014/10/15 PHP
网页里控制图片大小的相关代码
2006/06/13 Javascript
QQ邮箱的一个文本编辑器代码
2007/03/14 Javascript
jQuery控制图片的hover效果(smartRollover.js)
2012/03/18 Javascript
仿JQuery输写高效JSLite代码的一些技巧
2015/01/13 Javascript
JS实现字符串转日期并比较大小实例分析
2015/12/09 Javascript
基于vue.js实现侧边菜单栏
2017/03/20 Javascript
ES6中数组array新增方法实例总结
2017/11/07 Javascript
vue2.0使用swiper组件实现轮播效果
2017/11/27 Javascript
Vue对象赋值视图不更新问题及解决方法
2019/06/03 Javascript
微信小程序学习总结(三)条件、模板、文件引用实例分析
2020/06/04 Javascript
探索Python3.4中新引入的asyncio模块
2015/04/08 Python
Python基础篇之初识Python必看攻略
2016/06/23 Python
Python使用mongodb保存爬取豆瓣电影的数据过程解析
2019/08/14 Python
nginx+uwsgi+django环境搭建的方法步骤
2019/11/25 Python
django数据模型on_delete, db_constraint的使用详解
2019/12/24 Python
python为什么要安装到c盘
2020/07/20 Python
PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步骤详解
2020/11/02 Python
Pyqt助手安装PyQt5帮助文档过程图解
2020/11/20 Python
css3中背景尺寸background-size详解
2014/09/02 HTML / CSS
CSS3属性box-shadow使用指南
2014/12/09 HTML / CSS
HTML5 Canvas概述
2009/08/26 HTML / CSS
香港时装购物网站:ZALORA香港
2017/04/23 全球购物
德国富尔达运动鞋店:43einhalb
2020/12/25 全球购物
函授自我鉴定范文
2014/02/06 职场文书
人事专员职责
2014/02/22 职场文书
教师考核表个人总结
2015/02/12 职场文书
2015年秋季学校开学标语
2015/07/16 职场文书
企业法律事务工作总结
2015/08/11 职场文书
2017新年晚会开幕词
2016/03/03 职场文书
导游词之南迦巴瓦峰
2019/11/19 职场文书
python使用glob检索文件的操作
2021/05/20 Python
python_tkinter弹出对话框创建
2022/03/20 Python