三种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 相关文章推荐
javascript中的parseInt和parseFloat区别
Jul 12 Javascript
JS中判断null、undefined与NaN的方法
Mar 26 Javascript
javascript 对象数组根据对象object key的值排序
Mar 09 Javascript
jQuery插件Zclip实现完美兼容个浏览器点击复制内容到剪贴板
Apr 30 Javascript
AngularJS使用ng-inlude指令加载页面失败的原因与解决方法
Jan 19 Javascript
完美解决jQuery的hover事件在IE中不停闪动的问题
Feb 10 Javascript
bootstrap常用组件之头部导航实现代码
Apr 20 Javascript
vue如何判断dom的class
Apr 26 Javascript
使用elementUI实现将图片上传到本地的示例
Sep 04 Javascript
微信小程序实现省市区三级地址选择
Jun 21 Javascript
使用Typescript和ES模块发布Node模块的方法
May 25 Javascript
vue实现自定义多选按钮
Jul 16 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 strtotime 函数UNIX时间戳
2009/01/14 PHP
PHP垃圾回收机制引用计数器概念分析
2013/06/24 PHP
dedecms中使用php语句指南
2014/11/13 PHP
smarty简单应用实例
2015/11/03 PHP
Yii2增删改查之查询 where参数详细介绍
2016/08/08 PHP
PHP实现下载远程图片保存到本地的方法
2017/06/19 PHP
php获取微信共享收货地址的方法
2017/12/21 PHP
符合W3C网页标准的iframe标签的使用方法
2007/07/19 Javascript
IE6下JS动态设置图片src地址问题
2010/01/08 Javascript
javascript事件冒泡详解和捕获、阻止方法
2014/04/12 Javascript
extjs每个组件要设置唯一的ID否则会出错
2014/06/15 Javascript
JS长整型精度问题实例分析
2015/01/13 Javascript
JavaScript基本语法讲解
2015/06/03 Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
2016/02/26 Javascript
详解js中Json的语法与格式
2016/11/22 Javascript
详解vue-resource promise兼容性问题
2017/06/20 Javascript
Angular搜索 过滤 批量删除 添加 表单验证功能集锦(实例代码)
2017/10/25 Javascript
小程序ios音频播放没声音问题的解决
2018/07/11 Javascript
vue-cli 打包使用history模式的后端配置实例
2018/09/20 Javascript
Vue自定义指令上报Google Analytics事件统计的方法
2019/02/25 Javascript
微信小程序实现日期格式化和倒计时
2020/11/01 Javascript
Node使用Nodemailer发送邮件的方法实现
2020/02/24 Javascript
30分钟搭建Python的Flask框架并在上面编写第一个应用
2015/03/30 Python
机器学习python实战之手写数字识别
2017/11/01 Python
Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例
2018/04/19 Python
Django框架自定义模型管理器与元选项用法分析
2019/07/22 Python
Python实现生成密码字典的方法示例
2019/09/02 Python
Python项目实战之使用Django框架实现支付宝付款功能
2021/02/23 Python
HTML5中的Scoped属性使用实例
2014/04/23 HTML / CSS
详解HTML5中的picture元素响应式处理图片
2018/01/03 HTML / CSS
Python中如何定义一个函数
2016/09/06 面试题
校友会欢迎辞
2014/01/13 职场文书
求职意向书
2014/07/29 职场文书
个人年终总结范文
2015/03/09 职场文书
详解Java实践之建造者模式
2021/06/18 Java/Android
CSS实现鼠标悬浮动画特效
2023/05/07 HTML / CSS