三种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 相关文章推荐
在线游戏大家来找茬II
Sep 30 Javascript
jquery处理json对象
Nov 03 Javascript
jQuery之DOM对象和jQuery对象的转换与区别分析
Jan 08 Javascript
再JavaScript的jQuery库中编写动画效果的指南
Aug 13 Javascript
Vue.js动态添加、删除选题的实例代码
Sep 30 Javascript
Bootstrap页面缩小变形的快速解决办法
Feb 03 Javascript
jQuery实现一个简单的轮播图
Feb 19 Javascript
vue定义全局变量和全局方法的方法示例
Aug 01 Javascript
Vue父子组件之间的通信实例详解
Sep 28 Javascript
微信小程序 wx:for遍历循环使用实例解析
Sep 09 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
Nov 26 Javascript
原生JavaScript实现的无缝滚动功能详解
Jan 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
PHP中的正规表达式(二)
2006/10/09 PHP
php中FTP函数ftp_connect、ftp_login与ftp_chmod用法
2014/11/18 PHP
PHP实现图片批量打包下载功能
2017/03/01 PHP
ThinkPHP5框架中使用JWT的方法示例
2020/06/03 PHP
js中 关于undefined和null的区别介绍
2013/04/16 Javascript
js获得指定控件输入光标的坐标兼容IE,Chrome,火狐等多种主流浏览器
2013/05/21 Javascript
js点击button按钮跳转到另一个新页面
2014/10/10 Javascript
jquery实现漫天雪花飞舞的圣诞祝福雪花效果代码分享
2015/08/20 Javascript
简单讲解jQuery中的子元素过滤选择器
2016/04/18 Javascript
jQuery使用中可能被XSS攻击的一些危险环节提醒
2016/05/24 Javascript
jQuery为动态生成的select元素添加事件的方法
2016/08/29 Javascript
微信小程序 wxapp内容组件 text详细介绍
2016/10/31 Javascript
jQuery使用siblings获取某元素所有同辈(兄弟姐妹)元素用法示例
2017/01/30 Javascript
详解Node.js项目APM监控之New Relic
2017/05/12 Javascript
JavaScript动态绑定详解
2017/09/14 Javascript
微信小程序picker组件简单用法示例【附demo源码下载】
2017/12/05 Javascript
关于vue表单提交防双/多击的例子
2019/10/31 Javascript
微信小程序保存图片到相册权限设置
2020/04/09 Javascript
js实现拖拽与碰撞检测
2020/09/18 Javascript
基于Vue+Webpack拆分路由文件实现管理
2020/11/16 Javascript
JS hasOwnProperty()方法检测一个属性是否是对象的自有属性的方法
2021/01/29 Javascript
跟老齐学Python之print详解
2014/09/28 Python
Python自动化构建工具scons使用入门笔记
2015/03/10 Python
Python中easy_install 和 pip 的安装及使用
2017/06/05 Python
Python装饰器原理与简单用法实例分析
2018/04/29 Python
基于python代码实现简易滤除数字的方法
2018/07/17 Python
Python微医挂号网医生数据抓取
2019/01/24 Python
python matplotlib imshow热图坐标替换/映射实例
2020/03/14 Python
详解python 条件语句和while循环的实例代码
2020/12/28 Python
Lands’ End英国官方网站:高质量男女服装
2017/10/07 全球购物
别名指示符是什么
2012/10/08 面试题
2014年高考决心书
2014/03/11 职场文书
政风行风整改方案
2014/10/25 职场文书
投资入股合作协议书
2014/10/28 职场文书
《狮子和鹿》教学反思
2016/02/16 职场文书
2019通用版导游词范本!
2019/08/07 职场文书