webpack是什么

webpack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Sass,TypeScript等),并将其转换和打包为合适的格式供浏览器使用。在3.0出现后,Webpack还肩负起了优化项目的责任。

安装webpack

全局安装

首先,打开命令行工具,建立文件夹,进入文件夹里;

mkdir webpack_demo
cd webpack_demo

由于webpack是基于node.js,所以我们先必须安装node.js;安装完成后,执行下一步:

npm install -g webpack

这样就可以全局安装webpack了;但是webpack官方是不推荐的。这会将您项目中的 webpack 锁定到指定版本,并且在使用不同的 webpack 版本的项目中,可能会导致构建失败。

如果安装失败,可能有三种原因:

  • node版本过低,你可以通过node -v查看版本信息;
  • 网络比较慢,由于npm安装比较慢,你可以通过cnpm或者科学上网,进行安装;
  • 如果你使用的是Linux或者Mac,可能是权限问题,请使用sudo;

具体项目安装

首先,初始化文件夹,主要目的是生成package.json文件,里面包含了项目的依赖、自定义脚本任务等等;

npm init
或者
npm init -y

说说着两种的区别,npm init执行后,会让你填写项目信息,而npm init -y执行,是默认给你选择了项目信息,当然你想改的时候,进入package.json可以向直接修改;

然后,安装webpack:

npm init --save-dev webpack

这里的参数–-save是要保存到package.json中,-dev是在开发时使用这个包,而生产环境中不使用。

具体请参考:http://blog.hawkzz.com/2017/03/30/安装依赖/

查看webpack版本

webpack -v

现在(2017/09/17)最新的版本是webpack@3.6.0

建立基本项目结构

在根目录建立两个文件夹,分别是src和dist:

  • src文件夹:源代码,用于开发环境;
  • dist文件夹:打包好的文件夹,用于生产环境;

编写程序文件

在dist文件夹创建一个index.html文件,并编写下面代码.

/dist/index.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>webpack</title>
</head>
<body>
<div id="title"></div>
<script src="./bundle.js"></script>
</body>
</html>

在src文件夹创建entery.js文件,用于编写javascript代码,也是入口文件;

/src/entery.js

window.onload = function(){
document.getElementById('title').innerHTML = "Hello Webpack!";
}

webpack命令行打包

webpack命令行使用基本方法:

webpack {entry file} {destination for bundled file}
  • {entry file}:入口文件的路径,即将要打包的文件

  • {destination for bundled file}:打包后存放的路径

    webpack src/entery.js dist/bundle.js

执行上面的命令,这样就会在dist文件夹里自动生成一个bundle.js 文件,这样就打包完毕;

参考地址:

最新文章

  1. MVC5 网站开发实践 概述
  2. Web 架构师的能力(转)
  3. python 数据的拷贝
  4. [bzoj4551][Tjoi2016][Heoi2016]树
  5. C#读取Excel,DataTable取值为空的解决办法
  6. Photo Kit 框架
  7. Codeforces724D [字符串][乱搞][贪心]
  8. MapReduce入门
  9. Mysql安装设置建议(参数设置)
  10. iOS图解多线程
  11. web程序员标准环境之DreamWeaver【…
  12. javascript设计模式——中介者模式
  13. Java 学习笔记 (六) Java 定义变量
  14. Selenium在定位的class含有空格的复合类的解决办法整理
  15. [数据结构] P2.3 Trie树
  16. css3-study-new
  17. 在window上使用 linux shell 删除文件夹递归地
  18. Tomcat启动错误一例org.apache.catalina.core.StandardContext resources Start Error starting static Resources
  19. 树莓派集群实践——nfs
  20. 20155207 EXP7 EXP8 EXP9 实验补交

热门文章

  1. spring cloud+dotnet core搭建微服务架构:配置中心续(五)
  2. 基于zookeeper的Swarm集群搭建
  3. 使用spark与MySQL进行数据交互的方法
  4. [poj1644]放苹果
  5. Memcached存储命令
  6. 【20171025晚】alert(1) to win 第五题 正则表达式过滤
  7. Java中的的画正三角方法
  8. SSH服务详解
  9. 五种js判断是否为整数(转)
  10. iOS 极光推送的集成以及一些集成后的狗血