接着跟我一起学习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. PKUSC加油加油加油!

    一句话,把学过的掌握的甚至还未掌握的,都用上吧! 1.题目不要再再再看错了!在纸上记下关键字. 2.记得有预处理这个东西可以降低复杂度! 3.仔细阅读数据范围,取值范围的0要注意! 4.不要每次像开新 ...

  2. CF930E Coins Exhibition

    题意:平面上一共有k个硬币(k<=1e9),给你n个区间这些区间中至少有一个硬币反面朝上,m个区间中至少有一个硬币正面朝上.问有多少种硬币放置方案?n,m<=100005. 标程: #in ...

  3. springboot+mybatis 非web项目构建

    https://blog.csdn.net/wlittlefive/article/details/86157134 https://blog.csdn.net/ththcc/article/deta ...

  4. JavaScript 点击事件的三种写法

    嵌入式 <button οnclick='alert("hello")'>点击按钮</button> 脚本模型 btn.onclick=function() ...

  5. thinkphp action参数绑定

    参数绑定是通过直接绑定URL地址中的变量作为操作方法的参数,可以简化方法的定义甚至路由的解析. 参数绑定功能默认是开启的,其原理是把URL中的参数(不包括模块.控制器和操作名)和操作方法中的参数进行绑 ...

  6. 带撤销贪心——cf1148F好题

    自己不会做,看了题解懂得 从最高位依次往低位遍历,因为偶数个1是不改变符号的,所以带个贪心即可(可以看成是带撤销的..) 每轮循环用sum记录该位选择1可以减少的值 如果是负数,就不要改成1 如果是正 ...

  7. VS2010-MFC(对话框:颜色对话框)

    转自:http://www.jizhuomi.com/software/177.html 颜色对话框大家肯定也不陌生,我们可以打开它选择需要的颜色,简单说,它的作用就是用来选择颜色.MFC中提供了CC ...

  8. Sequelize

    连接数据库 const DB = require('sequelize') // 连接数据库 const connect = new DB('xjg', 'root', 'root', { host: ...

  9. USACO training course Checker Challenge N皇后 /// oj10125

    ...就是N皇后 输出前三种可能排序 输出所有可能排序的方法数 vis[0][i]为i点是否已用 vis[1][m+i]为i点副对角线是否已用  m+i 为从左至右第 m+i 条副对角线 vis[1] ...

  10. mysql简单的操作

    启动数据库服务     net start mysql     停止数据库服务     net stop mysql      退出数据库      exit     保存操作及结果 将在命令行窗口中 ...