从0构建webpack开发环境(一) 一个简单webpack.config.js
本文基于webpack4.X,使用的包管理工具是yarn
概念相关就不搬运了,直接开始
首先项目初始化
mkdir webpack-demo && cd webpack-demo
yarn init
在项目中安装webpack和webpack-cli(webpack4.X需要)
yarn add webpack webpack-cli --dev
紧接着在项目中创建三个文件src/index.js,dist/index.html,webpack.config.js,
webpack.config.js
const path = require('path')
module.exports = {
entry: {
app: path.resolve(__dirname, './src/index.js') // 以src/index.js为项目入口
},
output: {
filename: 'bundle.js', //打包后的名称
path: path.resolve(__dirname, 'dist') //打包后的输出到该目录下
}
}
src/index.js
import _ from 'lodash'
function createComponent(tag) {
let element = document.createElement(tag)
element.innerHTML = _.join(['Hello', 'webpack'], ', ')
return element
}
document.body.append(createComponent('div'))
index.js中引入的一个第三方库 lodash,所以需要安装 执行yarn add lodash
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 demo</title>
</head>
<body>
<script src="./bundle.js"></script>
</body>
</html>
完成上述步骤后会得到以下项目目录,以index.js为入口,其中依赖于第三方库lodash, 打包输出到dist目录下,
可以看到在index.html中引入了同目录的bundle.js文件,但是现在还没有生成

接着在package.json文件的scripts属性中添加以下语句块
"scripts":{
"build": "webpack --config webpack.config.js"
}
添加之后就可以通过 npm run build 或者 yarn build 命令执行打包, --config webpack.config.js表明webpack以该配置文件里的配置项进行打包,如不添加则会使用webpack默认的打包配置
然后执行 yarn build

打包成功,同时dist文件夹下多了一个bundle.js文件,
在浏览器中打开index.html就会看到输出的信息

到此,就成功完成了一个简单的webpack环境构建,然而这只是webpack的基础配置项 entry和output。webpack本身只会识别js文件,
在实际开发中会有css,img,字体图标或者.vue,.jsx等文件,这些文件都可以以模块化的方式添加到项目中。但是这些文件webpack本身并不会识别,主要依赖于loader的解析。
同时文中还需要手动添加index.html文件,这个可以通过plugins进行自动创建html文件。
本篇章中涉及到的几个依赖包

下一篇 从0构建webpack开发环境(二) 添加css,img的模块化支持
从0构建webpack开发环境(一) 一个简单webpack.config.js的更多相关文章
- javascript常用开发笔记:一个简单强大的js日期格式化方法
前言:一直没找到好用的javascript日期格式化工具,自己写了一个,方便以后复用 1.主要功能 (1)支持任意顺序的日期格式排列:yyyy=年,MM=月,dd=日,HH=时,mm=分,ss=秒,s ...
- react学习笔记(一)用create-react-app构建 React 开发环境
React 可以高效.灵活的用来构建用户界面框架,react利用高效的算法最小化重绘DOM. create-react-app 是来自于 Facebook,通过该命令不需配置就能快速构建 React ...
- Python黑帽编程1.2 基于VS Code构建Python开发环境
Python黑帽编程1.2 基于VS Code构建Python开发环境 0.1 本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks Atta ...
- 从零开始配置TypeScript + React + React-Router + Redux + Webpack开发环境
转载请注明出处! 说在前面的话: 1.为什么不使用现成的脚手架?脚手架配置的东西太多太重了,一股脑全塞给你,我只想先用一些我能懂的库和插件,然后慢慢的添加其他的.而且自己从零开始配置也能学到更多的东西 ...
- JDK1.7+eclipse 4.4(luna)+pydev4.4.5构建django开发环境
最近一直用pycharm搞django学习,但是到2017年随着版本的不断更新,启动之慢,吃资源吃内存越来越严重.果然想找一个IDE替代品. 之前用java开发分布式WEB应用,用eclipse开了N ...
- XamarinForms教程构建XamarinForms开发环境
构建XamarinForms开发环境 所谓Xamarin.Forms的开发环境,就是指在基本硬件和数字软件的基础上,为支持系统软件和应用软件的工程化开发和维护而使用的一组软件,简称SDE.对于任何的程 ...
- Eclipse中构建scala开发环境的步骤
Eclipse是一款非常使用的开发工具,熟悉它的童鞋应该都知道,它不仅是最常用的android开发工具,还是最常用的Java开发工具.既然eclipse如此重要,本文小编就和大家一起来扒一扒在ecli ...
- 第0课 - 搭建开发环境之安装QT
第0课 - 搭建开发环境之安装Qt 1. 课程学习的原材料 — Visual Studio 2010 — Qt SDK 4.7.4 — Qt Creator 2.4.1 2. Visual Studi ...
- vue第七单元(vue的单文件组件形式-单文件组件的加载原理-vue-cli构建的开发环境以及生命周期)
第七单元(vue的单文件组件形式-单文件组件的加载原理-vue-cli构建的开发环境以及生命周期) #课程目标 掌握安装 vue-cli 命令行工具的方法,掌握使用命令行在本地搭建开发环境,使用命令行 ...
随机推荐
- echart-折线图,数据太多想变成鼠标拖动和滚动的效果?以及数据的默认圈圈如何自定义圆圈的样式
1.数据太多怎么办???想拖拽,想滑动 dataZoom: [ { type: 'slider', } ] dataZoom: [ { type: 'inside', }] 两种功能都需要,还想调样 ...
- mybatis config 快速生成xml DAO
0.加jar包 1.a.BAT java -jar E:\GZH\Mybaits\mybatis-generator-core-1.3.2\lib\mybatis-generator-core-1.3 ...
- Internet History, Technology, and Security(week6)——Technology: Transport Control Protocol(TCP)
前言: 这周开始学习分层网络模型的第三层,传输层. Transport/Reliability: Transport Layer TCP层的目的是补偿IP层中可能出现的错误,并充分利用可用资源.由于I ...
- 大数据笔记(四)——操作HDFS
一.Web Console:端口50070 二.HDFS的命令行操作 (一)普通操作命令 HDFS 操作命令帮助信息: hdfs dfs + Enter键 常见命令 1. -mkdir 在HDFS上 ...
- wowza 降低延迟
转自:http://www.ttstream.com/wowza/live/howToAchieveTheLowestLatencyFromCaptureToPlayback 这篇文章介绍了在用R ...
- Windows下使用python3 + selenium实现网页自动填表功能
本文由博主(SunboyL)原创,转载请注明出处:https://www.cnblogs.com/SunboyL/p/11563345.html 因为工作原因,需要将xls文件的数据录入到网上.因为数 ...
- Python编程:从入门到实践—列表
访问列表中的元素 >>> bicycles = ['trek','cannondale','redline','specialized']>>> print(bic ...
- 如何利用EDM邮件营销进行持续推销
一般来说,一个电子商务网站的转化率在2%左右是正常的.这也意味着其他98%的潜在客户并不会购买任何东西,并且可能再也不回来了.这个时候,如何利用EDM邮件营销进行持续推销呢? 首先,EDM邮件营销可以 ...
- Zotero引用文献格式(软件学报)
最近在写一篇综述,要处理大量引用文献,选用Zotero作为文献管理工具.在插入参考文献目录时需要遵循格式,奈何网上找不到<软件学报>对应的csl模板文件,所以决定自己动手修改.在此记录下自 ...
- 【Unity Shader】---CG标准函数库
1.CG标准函数库 和C的标准函数库类似,CG也提供了一系列的内建函数库,这些函数用于计算数学上的通用计算或算法(如纹理映射).例如:求取入射光线的反射光线用Reflect函数,求折射光线用Refla ...