首先输入命令来安装webpack-dev-server

npm i webpack-dev-server

在package.json文件中添加代码:

"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "webpack --config webpack.config.js --mode development",
"dev": "webpack-dev-server --config webpack.config.js"
},

输入命令:

npm i cross-env

修改package.json文件其中的"scripts"

"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "cross-env NODE_ENV=production webpack --config webpack.config.js",
"dev": "cross-env NODE_ENV=development webpack-dev-server --config webpack.config.js"
},

在webpack.config.js中添加target: 'web' 和最下面添加判断条件

const path = require('path')

const VueLoaderPlugin = require('vue-loader/lib/plugin')

const isDev = process.env.NODE_ENV === 'development'

const config = {
target: 'web',
entry: path.join(__dirname,'src/index.js'),
output: {
filename: 'bundle.js',
path: path.join(__dirname,'dist')
},
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader'
},{
test:/\.css$/,
use: [
'style-loader',
'css-loader'
]
},{
test: /\.styl/,
use: [
'style-loader',
'css-loader',
'stylus-loader'
]
},{
test:/\.(jpg|svg|jpeg|png|gif)$/,
use: [
{
loader: 'url-loader',
options: {
limit: 1024,
name: '[name]-aa.[ext]'
}
}
]
}
]
},
plugins:[
new VueLoaderPlugin()
]
} if(isDev) {
config.devServer = {
port: 8000,
host: '0.0.0.0',
overlay: {
errors: true
}
}
} module.exports = config

其中设置host='0.0.0.0'好处是:既可以通过127.0.0.1访问,也可以通过ip进行访问,这样在别的电脑就可以访问本机.

overlay: true是为了,如果vue有错误可以显示在网页上,可以看到webpack编译过程中出现的错误

输入命令安装html-webpack-plugin

npm i html-webpack-plugin

再次修改webpack.config.js文件:

const path = require('path')

const VueLoaderPlugin = require('vue-loader/lib/plugin')
  const webpack = require('webpack')

const isDev = process.env.NODE_ENV === 'development'

const HTMLPlugin =require('html-webpack-plugin')

const config = {
target: 'web',
entry: path.join(__dirname,'src/index.js'),
output: {
filename: 'bundle.js',
path: path.join(__dirname,'dist')
},
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader'
},{
test:/\.css$/,
use: [
'style-loader',
'css-loader'
]
},{
test: /\.styl/,
use: [
'style-loader',
'css-loader',
'stylus-loader'
]
},{
test:/\.(jpg|svg|jpeg|png|gif)$/,
use: [
{
loader: 'url-loader',
options: {
limit: 1024,
name: '[name]-aa.[ext]'
}
}
]
}
]
},
plugins:[
new VueLoaderPlugin(),
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: isDev ? '"development"' : '"production"'
}
}),
new HTMLPlugin()
]
} if(isDev) {
config.devServer = {
port: 8000,
host: '0.0.0.0',
overlay: {
errors: true
}
}
} module.exports = config

 最后输入命令

npm run dev

打开浏览器输入 localhost:8000

实现热加载功能:修改数据,只是重新渲染修改的组件 修改webpack.config.js文件:

const path = require('path')

const VueLoaderPlugin = require('vue-loader/lib/plugin')

const HTMLPlugin = require('html-webpack-plugin')
const webpack = require('webpack')
const isDev = process.env.NODE_ENV === 'development' const config = {
target: 'web',
entry: path.join(__dirname,'src/index.js'),
output: {
filename: 'bundle.js',
path: path.join(__dirname,'dist')
},
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader'
},{
test:/\.css$/,
use: [
'style-loader',
'css-loader'
]
},{
test: /\.styl/,
use: [
'style-loader',
'css-loader',
'stylus-loader'
]
},{
test:/\.(jpg|svg|jpeg|png|gif)$/,
use: [
{
loader: 'url-loader',
options: {
limit: 1024,
name: '[name]-aa.[ext]'
}
}
]
}
]
},
plugins:[
new VueLoaderPlugin(),
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: isDev ? '"development"' : '"production"'
}
}),
new HTMLPlugin()
]
} if(isDev) {
// 帮助调试代码
config.devtool = '#cheap-module-eval-source-map'
config.devServer = {
port: 8000,
host: '0.0.0.0',
overlay: {
errors: true
},
// 热加载功能:只渲染修改的组件,不会刷新页面
hot: true
//open: true 改配置后就自动打开浏览器
}
config.plugins.push(
new webpack.HotModuleReplacementPlugin(),
new webpack.NoEmitOnErrorsPlugin()
)
} module.exports = config

 需要重新输入命令

npm run dev

刷新页面后可以看效果

webpack learn1-webpack-dev-server的配置和使用3的更多相关文章

  1. 解决新版本webpack vue-cli生成文件没有dev.server.js问题

    新版本webpack生成的dev.server.js 在webpack.dev.conf.js中 webpack.dev.conf.js const axios = require('axios') ...

  2. 笔记:配置 webpack dev server

    笔记:配置 webpack dev server 安装 webpack-dev-server 组件 配置 webpack.config.js 配置 增加 html-webpack-plugin 组件 ...

  3. 配置Webpack Dev Server 实战操作方法步骤

    本文摘要:配置 Webpack Dev Server 可以解决本地开发前端应用时,手动执行 webpack 命令或 yarn build 命令,再去浏览器中访问 dist/index.html 的麻烦 ...

  4. [Webpack] Access Webpack Dev Server from Mobile Safari on an iPhone

    Testing your sites on mobile devices is a critical part of the development process. Webpack dev serv ...

  5. webpack 4 & dev server

    webpack 4 & dev server proxy https://webpack.js.org/configuration/dev-server/#devserverproxy htt ...

  6. Webpack的详细配置,[Webpack中各种loader的安装配置]

    在使用webpack的时候,你是不是被以下这种报错所困扰: 注意看 黄色框中标注的 You may need an appropriate loader to handle this file typ ...

  7. 【webpack系列】webpack4.x入门配置基础(一)

    一.前言 webpack在不断的迭代优化,目前已经到了4.29.6.在webpack4这个版本中,做了很多优化,引入了很多特性,将获得更多模块类型,.mjs支持,更好的默认值,更为简洁的模式设置,更加 ...

  8. 从零开始配置webpack(基于webpack 4 和 babel 7版本)

    webpack 核心概念: Entry: 入口 Module:模块,webpack中一切皆是模块 Chunk:代码库,一个chunk由十多个模块组合而成,用于代码合并与分割 Loader:模块转换器, ...

  9. webpack.config.js文件的高级配置

    一.多个入口文件之前我们配置的都是 一个入口 var webpack = require('webpack'); var commonsPlugin = new webpack.optimize.Co ...

  10. gulp结合webpack开启多页面模式,配置如下

    首先老规矩哈.全局包安装先 cnpm install webpack -g cnpm install gulp -g cnpm install babel -g //转换Es6 上面的整合在一起安装可 ...

随机推荐

  1. spring学习07(整合MyBatis)

    10.整合MyBatis 10.1 相关jar包 junit <dependency> <groupId>junit</groupId> <artifactI ...

  2. DVWA-全等级验证码Insecure CAPTCHA

    DVWA简介 DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用,旨在为安全专业人员测试自己的专业技能和工具提供合法 ...

  3. Linux修改Ip简单知识了解

    1. 在终端输入:vim /etc/sysconfig/network-scripts/ifcfg-etho(etho是指的安装centos的产生的网卡) 2.按i开始编辑,填写ip地址.子网掩码.网 ...

  4. Linux+Apache+Mysql+PHP简单的测试环境搭建

    系统版本为:Linux localhost.localdomain 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x ...

  5. Python 赋值、浅拷贝、深拷贝之间区别

    赋值 不会开辟新的内存空间,是对原对象值的引用 当原对象值,改变后,赋值的变量也会随之改变 浅拷贝 只会拷贝最外层的对象,会开辟新的内存空间,和原对象是互相独立的 如果这个对象有嵌套对象的话,浅拷贝只 ...

  6. FileUtils 文件工具类

    FileUtils 下载jar中的文件 package com.meeno.chemical.common.utils; import lombok.extern.slf4j.Slf4j; impor ...

  7. MyBatis的useGeneratedKeys使用

    业务需求,用户表为主键自增,添加完用户之后,通过用户ID和角色表进行关联. 问题:由于主键自增,所以在用户添加之前是不知道ID的,当然可以通过查询得到当前的ID,不过需要自己多一步操作. 解决方案:使 ...

  8. Qt多窗口编程详解

    常用的窗体基类是 QWidget.QDialog 和 QMainWindow,在创建 GUI 应用程序时选择窗体基类就是从这 3 个类中选择. QWidget 直接继承于 QObject,是 QDia ...

  9. 一:Tomcat安装、配置和部署笔记

    Tomcat安装(绿色版安装) 1.将下载的Tomcat解压到指定目录,如:D:\WorkSpaceByJava\DevtTools\Apache-Tomcat-8.0.23 2.Tomcat的目录结 ...

  10. DNS地址列表

    DNS测试工具(DNSBench):https://www.grc.com/dns/benchmark.htm DNS列表收集: Google DNS [URL]https://developers. ...