webpack 3.X学习之初始构建
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 文件,这样就打包完毕;

参考地址:
webpack 3.X学习之初始构建的更多相关文章
- React初步学习-利用React构建个人博客
React初步学习-利用React构建个人博客 用React和Webpack写了一个很简单的个人博客,主要是想要熟悉一下react中各种基本基本属性及方法的使用.在构建过程中碰到不少问题,通过阅读官方 ...
- vue第二单元(webpack的配置-学习webpack的常用配置)
第二单元(webpack的配置-学习webpack的常用配置) #课程目标 掌握webpack的常用配置 掌握如何根据实际的需求修改webpack的对应配置 了解webpack-dev-server的 ...
- 深度学习之TensorFlow构建神经网络层
深度学习之TensorFlow构建神经网络层 基本法 深度神经网络是一个多层次的网络模型,包含了:输入层,隐藏层和输出层,其中隐藏层是最重要也是深度最多的,通过TensorFlow,python代码可 ...
- [Android进阶]Binder学习(初始篇)
Android中Binder学习(初始篇) 本篇博客学习自侯亮的博客.地址为: 红茶一杯话Binder 1 什么是Binder? 简单地说.Binder是Android平台上的一种跨进程交互技术. 该 ...
- [笔记] 基于nvidia/cuda的深度学习基础镜像构建流程 V0.2
之前的[笔记] 基于nvidia/cuda的深度学习基础镜像构建流程已经Out了,以这篇为准. 基于NVidia官方的nvidia/cuda image,构建适用于Deep Learning的基础im ...
- webpack 学习1 安装构建项目
本文中使用的webpack版本是4+,请注意区分 node.js安装 node.js下载地址 选择较低版本的稳定版下载,下载完成后得到的是一个msi文件,点击安装即可 安装完毕以后新建一个文件夹,并在 ...
- React学习笔记---项目构建
简介 ReactJs由于有FB的支持,得到了社区的极大关注,同时由于ReactJs只希望专一的做好View层次上的工作,所以本身并没有涉及很多周边工具. 今天要介绍一款工具,同时包含一个构建项目模板的 ...
- 通过调试vue-cli 构建代码学习vue项目构建运行过程
我们知道vue-cli 3.0之前直接基于webpack创建对应配置文件,我们通过学习webpack就能够了解其构建过程,然而从vue-cli 3.0开始,vue-cli命令行更改为@vue/cli以 ...
- webpack vuejs项目学习心得
最近在做移动端的项目,最近webpack和vuejs很火,就想到了用vuejs webpack来构建我的项目 先了解了一些webpack的入门基础 http://webpack.github.io/d ...
随机推荐
- win10 uwp 通知Toast
win10通知使用Toast 可以使用win10 模板添加通知 var t = Windows.UI.Notifications.ToastTemplateType.ToastText02; 使用Ge ...
- Linux 进程状态 概念 Process State Definition
From : http://www.linfo.org/process_state.html 进程状态是指在进程描述符中状态位的值. 进程,也可被称为任务,是指一个程序运行的实例. 一个进程描述符是一 ...
- JavaScript注释之HTML注释(<!-- & //-->)
JavaScript中支持HTML注释 //用法 <script language="javascript"> <!-- alert("我是注释内的JS ...
- 三、Spring的面向切面
Spring的面向切面 在应用开发中,有很多类似日志.安全和事务管理的功能.这些功能都有一个共同点,那就是很多个对象都需要这些功能.复用这些通用的功能的最简单的方法就是继承或者委托.但是当应用规模达到 ...
- Promise对象解读
首先强调的是"Promise"是对象,也就是说与其他JavaScript对象的用法,没有什么两样:其次,它起到代理作用(proxy),充当异步操作与回调函数之间的中介.它使得异步操 ...
- centos 安装giblab
本文章转载自:http://www.cnblogs.com/fanjingfeng/p/6665597.html 一, 服务器快速搭建gitlab方法 可以参考gitlab中文社区 的教程 cento ...
- Muduo阅读笔记--base(二)
上一篇文章对muduo的入门做了介绍. http://www.cnblogs.com/LCCRNblog/p/5668035.html base文件夹下这么多代码,该如何入手呢?对于我这种第一次接触大 ...
- K - 迷宫问题 POJ - 3984
定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, ...
- Log4j – Log4j 2 API
Overview The Log4j 2 API provides the interface that applications should code to and provides the ad ...
- 常见的XSS攻击代码
第一类: <tag on*=*/> 在html标签事件中触发,典型的是on*事件,但是这种触发模式的缺陷在于不能直接触发所以更多的需要配合使用. eg: 1.使html元素占据整个显示页面 ...