webpack-dev-server搭建本地服务器的实现

 更新时间:2021年07月14日 11:29:24   作者:Silent丿丶黑羽  
当我们使用webpack打包时,发现每次更新了一点代码,都需要重新打包,我们希望本地能搭建一个服务器,本文就介绍如何使用webpack-dev-server搭建本地服务器,感兴趣的可以了解一下

前言

当我们使用webpack打包时,发现每次更新了一点代码,都需要重新打包,这样很麻烦,我们希望本地能搭建一个服务器,然后写入新的代码能够自动检测出来,这时候就需要用到webpack-dev-server

webpack-deb-server

webpack提供了一个可选的本地开发服务器,这个本地服务器基于node.js搭建,内部使用express框架,可以实现我们想要的浏览器自动刷新显示我们修改后的结果

由于它是个单独的模块,使用之前,我们需要先安装,命令如下:

npm install -D webpack-dev-server 

安装完成之后,我们也是需要在webpack中进行配置,配置的对象是devServer ,它也有很多的属性,常用的几个属性如下:

  • contentBase:为哪一个文件提供本地服务,默认是根文件,我们这里要填写./dist
  • port:端口号,默认是8080
  • inline:页面实时刷新
  • historyApiFallBack:在SPA(单页面复应用)页面中,依赖HTML5的history模式

webpack.config.js配置如下:

module.exports = {
   devServer: {
        contentBase: "./dist",
        inline: true,
    },
}

接下来我们再在package.json文件中添加一条script命令:

"scripts": {
    "dev": "webpack serve"
  },

dev代表开发环境,以上我们的配置就算完成了 

webpack-dev-server启动报错

然后我们启动命令npm run dev,程序出现以下报错:

Error: Cannot find module 'webpack-cli/bin/config-yargs'

原因是webpack-cli的版本问题,我们先来看以下我们的版本

"webpack": "^5.44.0",
"webpack-cli": "^4.7.2",
"webpack-dev-server": "^3.11.2"

解决方案1

降低webpack-cli的版本,从4降到3

1.卸载webpack-cli

npm uninstall webpack-cli

2.安装webpack-cli@3

npm install webpack-cli@3 -D

然后启动就不会报错了,但是这只是临时的解决方案,我们推荐第二种解决方式 

解决方案2

更改scripts中的配置,将原来的webpack-dev-serve改为webpack serve即可

"scripts": {
    "dev": "webpack serve --open --mode development"
},

最后我们在终端输入npm run dev就可正常启动,并且会自动打开网页,因为我们加了参数--open,如果想手动打开,则取出--open即可

解决端口占用问题

如果你通过vue+webpack已经启动了一个项目,但是你又执行了一遍npm run dev,此时就会报以下错误

Error: listen EADDRINUSE: address already in use 127.0.0.1:8080

原因是我们上次启动的默认端口是8080,这次你又项启动一个项目端口依然是8080,但是8080端口已经被占用了,解决办法我们只需要将8080端口对应的PID进程号杀死即可

首先查找8080端口对应的进程ID

lsof -i:8080

找到对应的PID后使用kill命令杀死即可

kill -9 PID进程号

到此这篇关于webpack-dev-server搭建本地服务器 的文章就介绍到这了,更多相关webpack-dev-server搭建本地服务器 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • new Date()问题在ie8下面的处理方法

    new Date()问题在ie8下面的处理方法

    本节主要介绍了ie8下面处理 new Date()的问题,需要的朋友可以参考下
    2014-07-07
  • js 定位到某个锚点的方法

    js 定位到某个锚点的方法

    下面小编就为大家带来一篇js 定位到某个锚点的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • js+css3实现简单时钟特效

    js+css3实现简单时钟特效

    这篇文章主要为大家详细介绍了js+css3实现简单时钟特效,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • 微信小程序分享功能之按钮button 边框隐藏和点击隐藏

    微信小程序分享功能之按钮button 边框隐藏和点击隐藏

    这篇文章主要介绍了微信小程序分享功能之按钮button 边框隐藏和点击隐藏,需要的朋友可以参考下
    2018-06-06
  • 使用Three.js 实现虎年春节3D创意页面

    使用Three.js 实现虎年春节3D创意页面

    虎年春节将至,本文使用 React + Three.js技术栈,实现趣味 3D创意页面,主要包括:ShadowMaterial、 MeshPhongMaterial等基本材质的使用、使用 LoadingManager展示模型加载进度、OrbitControls`的缓动动画、TWEEN简单补间动画效果等,感兴趣的朋友一起看看吧
    2022-01-01
  • 利用JS判断数据类型的四种方法

    利用JS判断数据类型的四种方法

    面试的时候经常会问到JS 中 判断数据类型的方法,一般常用的 就是typeof了 ,其他的也想不起来,今天特意在网上查了一下来总结,这篇文章主要介绍了利用JS判断数据类型的四种方法,需要的朋友可以参考下
    2021-08-08
  • jquery 实现上下滚动效果示例代码

    jquery 实现上下滚动效果示例代码

    上下滚动的效果,不用说,大家都有看到过,本文为大家介绍下使用jquery实现上下滚动效果,感兴趣的朋友可以参考下,希望对大家有所帮助
    2013-08-08
  • JS实现控制表格行内容垂直对齐的方法

    JS实现控制表格行内容垂直对齐的方法

    这篇文章主要介绍了JS实现控制表格行内容垂直对齐的方法,通过javascript的getElementById获取元素并设置其相应样式来实现这一功能,需要的朋友可以参考下
    2015-03-03
  • JavaScript Split()方法

    JavaScript Split()方法

    split()方法可以利用字符串的子字符串的作为分隔符将字符串分割为字符串数组,并返回此数组,本文给大家介绍javascript split 方法,对本文感兴趣的朋友一起学习吧
    2015-12-12
  • Javascript 实现计算器时间功能详解及实例(二)

    Javascript 实现计算器时间功能详解及实例(二)

    这篇文章主要介绍了Javascript 实现计算器时间功能详解及实例的相关资料,需要的朋友可以参考下
    2017-01-01

最新评论