接着跟我一起学习webpack(一)中的项目来,我们接下来使用配置文件

使用npx webpack -h 我们可以查看webpack的配置参数

从我们在package.json中添加的命令来看,当项目需要越来越多的配置的时候,就要往里面添加更多的参数,那么到后期维护起来就会想当困难

为了解决这个问题,我们主要是将这些参数以对象的形式,专门放在配置文件里面

在webpack每次打包的时候,读取该配置文件即可

新建webpack.config.js文件,添加如下代码

module.exports = {
entry:'./src/index.js',
output:{
filename:'bundle.js'
},
mode:'development'
}

接下来我们修改package.json文件,去掉package.json中配置的打包参数了

{
"name": "firstwebpackdemo",
"version": "1.0.0",
"description": "webpack01",
"main": "index.js",
"scripts": {
"build": "webpack"
},
"keywords": [
"webpack"
],
"author": "jser_dimple",
"license": "ISC",
"devDependencies": {
"webpack": "^4.39.1",
"webpack-cli": "^3.3.6"
}
}

修改add-content.js文件内容为

export default function(){
document.write('i\m using using config file')
}

接下来我们执行npm run build,webpack就会预先读取webpack.config.js,然后进行打包



到这里的话我们已经把webpack的初始环境配置完毕了,但是我们发现我们打包之后,要手动去运行项目

我们希望打包运行项目之后,项目可以自动运行,这个时候我们就需要webpack-dev-server了



为了方便启动webpack-dev-server我们在package.json中添加一个dev命令



接下来我们还要对webpack-dev-server进行配置,编辑webpack.config.js如下

module.exports = {
entry:'./src/index.js'fsad,
output:{
filename:'./bundle.js'
},
mode:'development',
devServer:{
publicPath:'/dist'
}
}

在启动服务之前,我们还要更改一下add-content.js

//add-content
export default function(){
document.write('i\m webpack-dev-server')
}

接下来我们使用npm run dev



webpack-dev-server小总结

1.让webpack进行模块打包,并处理打包结果的资源请求

2.作为普通的web Server,处理静态资源文件请求

3.webpack-dev-server只是将打包结果放在内存中,并不会写入实际的bundle.js

在每次webpack-dev-server接收到请求时,都只是将内存中的打包结果返回给浏览器,并不会写入dist中

4.wbpack-dev-server还有一项很便捷的特性就是自动刷新,我们修改代码无需再运行,浏览器中的内容会自动更新

跟我一起学习webpack使用配置文件(二)的更多相关文章

  1. 深入学习webpack(二)

    深入学习webpack(二) 在深入学习webpack(一)中,我通过一个例子介绍了webpack的基本使用方法,下面将更为系统的学习webpack的基本概念,对于一门技术的掌握我认为系统化还是很重要 ...

  2. webpack实践(二)- webpack配置文件

    webpack系列博客中代码均在github上:https://github.com/JEmbrace/webpack-practice <webpack实践(一)- 先入个门> < ...

  3. Webpack笔记(二)——搭建React开发环境

    前几天一直在学习webpack,总算比之前学习的时候有了点收获,所以在昨天发布了一篇webpack入门笔记,今天继续使用webpack练了练手,搭建了一个React开发环境,如果还不熟悉的童鞋可以看一 ...

  4. 深入学习webpack(一)

    深入学习webpack(一) 模块化的相关库和工具已经很多了,包括require.js.sea.js和一些工程化工具webpack.gulp.grant.那么我们该如何选择呢? 其实,我们只需要掌握了 ...

  5. Spring+SpringMVC+MyBatis深入学习及搭建(十二)——SpringMVC入门程序(一)

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6999743.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十一)——S ...

  6. webpack4 学习 --- webpack和webpack-dev-server

    以前了解过webpack2, 所以对webpack 不是很陌生,就直接入主题吧.新建一个文件夹,就叫它webpack-tut吧.然后在文件中新建一个src 文件夹,存放我们的源文件,再在src 文件夹 ...

  7. 一起学习造轮子(二):从零开始写一个Redux

    本文是一起学习造轮子系列的第二篇,本篇我们将从零开始写一个小巧完整的Redux,本系列文章将会选取一些前端比较经典的轮子进行源码分析,并且从零开始逐步实现,本系列将会学习Promises/A+,Red ...

  8. 如何学习 Webpack

    webpack-howto Tip: 本文是 webpack-howto 的原文,我觉得这篇文章写得非常好,确实算是目前学习 webpack 入门的必读文章.直接收录之. 本教程的目标 这是一本教你如 ...

  9. WCF入门教程(四)通过Host代码方式来承载服务 一个WCF使用TCP协议进行通协的例子 jquery ajax调用WCF,采用System.ServiceModel.WebHttpBinding System.ServiceModel.WSHttpBinding协议 学习WCF笔记之二 无废话WCF入门教程一[什么是WCF]

    WCF入门教程(四)通过Host代码方式来承载服务 Posted on 2014-05-15 13:03 停留的风 阅读(7681) 评论(0) 编辑 收藏 WCF入门教程(四)通过Host代码方式来 ...

随机推荐

  1. CF850E Random Elections

    题意:一共有n个人,要在三个人中选prefer,一开始他们心中都会想好他们的排名(共6种),之后给出的判断不会矛盾.规则如下:一共有三轮,分别是a->b,b->c,c->a,每个人选 ...

  2. C++ 字符串相互转换 适合 lua project

    #include <iostream> #include <Windows.h> #include <assert.h> #define Main main voi ...

  3. 树形dp经典换根法——cf1187E

    假设以u为根时结果是tot,现在转换到了以u的儿子v为根,那么结果变成了tot-size[v]+(sizetot-size[v]) 根据这个转移方程,先求出以1为根的tot,然后dfs一次转移即可 # ...

  4. goconvey测试模块

    一.介绍 是一款针对Golang的测试框架,可以管理和运行测试用例,同时提供了丰富的断言函数,并支持很多 Web 界面特性. GoConvey 网站 : http://smartystreets.gi ...

  5. Mysql优化系列之查询优化干货1

    从这一篇开始,准备总结一些直接受用的sql语句优化,写sql是第二要紧的,第一要紧的,是会分析怎么查最快, 因为当你写过很多sql后,查询出结果已经不是目标,快,才是目标.另外,通过测试和比较的结果才 ...

  6. 论文阅读-(ECCV 2018) Second-order Democratic Aggregation

    本文是Tsung-Yu Lin大神所作(B-CNN一作),主要是探究了一种无序的池化方法\(\gamma\) -democratic aggregators,可以最小化干扰信息或者对二阶特征的内容均等 ...

  7. python调用scikit-learn机器学习

    不支持深度学习和强化学习 numpy介绍: np.eye(n)生成一个n维单元数组 数据预处理: iris数据加载 from sklearn import datasetsiris = dataset ...

  8. Bubble Cup 12 - Finals Online Mirror, unrated, Div. 1

    Bubble Cup 12 - Finals Online Mirror, unrated, Div. 1 C. Jumping Transformers 我会状压 DP! 用 \(dp[x][y][ ...

  9. 【案例】DIV随鼠标移动而移动

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. 【SDOI2015】约数个数和

    题面 求\(\sum_{i=1}^n\sum_{j=1}^md(ij)\) \(\leq 50000\)组数据,\(1\leq n,m\leq 50000\). 题目分析 首先,你需要知道一个结论: ...