实用webpack-dev-server
webpack-dev-server的作用
- 文件作出改动之后,保存,立即开始编译文件
- 编译后的文件是保存在内存中的,在项目文件夹中看不到编译后的文件
- 编译完成之后立即自动刷新浏览器
测试webpack-dev-server先建立一个小的demo,按照下面的方式敲命令
npm init -y
npm install webpack --save-dev
npm install webpack-dev-server --save-dev 局部安装
在项目文件夹中新建src目录,该目录下面存放开发文件,里面放入index.js
在项目文件夹中新建dist目录,该目录下面存放打包后的生产文件,里面存入index.html
编写webpack.config.js文件,做如下配置
var path = require('path'); -> node.js的路径模块
module.exports = {
entry: './src/index.js',
output: {
path: path.join(__dirname, '/dist'), -> 必须是绝对路径
filename: 'bundle.js',
publicPath: '/css/' -> 这个选项是用来告诉webpack到这个路径下面去寻找资源,相当于是路径的一个别名,
所以在html页面中这样引入js文件即可<script src="css/bundle.js"></script>,关于这个选项的作用网上的人解答参差不齐,误导众人
}
}
在运行webpack-deb-server之前先使用webpack来打包一下 node_modules\.bin\webpack
然后运行webpack-dev-server
因为采用的是局部安装,win7下面这样运行 node_modules\.bin\webpack-dev-server --content-base ./dist
用来监听dist目录下面的index.html,现在你可以随意的更改index.js文件的内容,可以实时编译刷新浏览器,
细心的同学可能发现,其实bundle.js中的内容是没有变化的,webpack-dev-server将这些操作放在内存中执行
关于两种监视模式
- 第一种是Iframe mode
开启这个模式什么都不用管 node_modules\.bin\webpack-dev-server --content-base ./dist
这样开启webpack-dev-server后,通过http://localhost:8080/webpack-dev-server/即可查看
在主页会有更新提示
- 第二种是Inline mode
通过 node_modules\.bin\webpack-dev-server --inline --content-base ./dist 这种方式开启
然后通过 http://localhost:8080/ 查看,编译的提示信息在控制台可以查看
- 并没有什么卵用,上面两种方式,个人感觉纯粹装逼专用
其他功能
- 开启热替换
node_modules\.bin\webpack-dev-server --inline --hot --content-base ./dist- 作用,当删除,添加模块时,不需要刷新页面
- 杂项
--quiet 隐藏打包信息
--compress 压缩
--progress 显示打包进度
个人感觉上面无用
- 开启热替换
上面的命令可以添加到npm的scrpit选项中去,简化操作
实用webpack-dev-server的更多相关文章
- 笔记:配置 webpack dev server
笔记:配置 webpack dev server 安装 webpack-dev-server 组件 配置 webpack.config.js 配置 增加 html-webpack-plugin 组件 ...
- [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 ...
- 配置Webpack Dev Server 实战操作方法步骤
本文摘要:配置 Webpack Dev Server 可以解决本地开发前端应用时,手动执行 webpack 命令或 yarn build 命令,再去浏览器中访问 dist/index.html 的麻烦 ...
- webpack dev server 和 sublime text 配合时需要注意的地方
参考:https://webpack.js.org/guides/development/ Adjusting Your Text Editor Some text editors have a &q ...
- webpack dev server 配置 启动项目报错Error: listen EADDRINUSE
Error: listen EADDRINUSE 0.0.0.0:5601 它的意思是,端口5601被其他进程占用. 切换端口即可解决问题
- 解决新版本webpack vue-cli生成文件没有dev.server.js问题
新版本webpack生成的dev.server.js 在webpack.dev.conf.js中 webpack.dev.conf.js const axios = require('axios') ...
- webpack 4 & dev server
webpack 4 & dev server proxy https://webpack.js.org/configuration/dev-server/#devserverproxy htt ...
- vue-cli脚手架之webpack.dev.conf.js
webpack.dev.conf.js 开发环境模式配置文件: 'use strict'//js按照严格模式执行 const utils = require('./utils')//导入utils. ...
- Vue.js如何搭建本地dev server和json-server 模拟请求服务器
前言:vue-cli(版本更新),由原来的2.8.1升级为2.9.1.主要改变是原来在build文件夹下的dev-server.js删掉了,增加了webpack.dev.conf.js. 所以这次讲的 ...
- npm ERR! mathine_call@1.0.0 dev: `webpack-dev-server --inline --progress --config build/webpack.dev.conf.js` npm ERR! Exit status 1
internal/modules/cjs/loader.js:583 throw err; ^ Error: Cannot find module 'webpack' at Function.Modu ...
随机推荐
- python递归 及 面向对象初识及编程思想
递归 及 面向对象初识及编程思想 一.递归 1.定义: 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. (1)递归就是在过程或函数里调用自身: (2)在使用递 ...
- 交叉编译工具链介绍《Building Embedded Linux Systems》
1.前言 配置和编译一个合适的GNU工具链是相对复杂的并且需要很精细的操作,包括你需要对不同软件库之间的依赖关系.它们的各自的任务,不同软件库版本情况都有比较好的了解,编译工具链是一个乏味的工作. 2 ...
- [转]页游开发中的 Python 组件与模式Presentation Transcript
转: 页游开发中的 Python 组件与模式Presentation Transcript 1. 页游开发中的 Python 组件与模式 赖勇浩( http://laiyonghao.com ) 20 ...
- 在Linux上部署DotNet Core项目的时候发现Apache无法转发Kestrel的5000端口的问题
CentOS服务器上使用Apache托管Dotnet Core2,服务启动了,端口也打开了.在本地使用curl命令可以访问5000端口的网页内容,但是访问Apache的端口却无法获取到网页的内容.想起 ...
- 旧书重温:0day2【4】动态获取函数地址
通过以上3篇文章的学习,我们已经可以获取到kernel32.dll的地址了下一步 我们就是获取几个重要的函数 1.GetProcAddress 2.LoadLibrary 有了这两个函数很多函数都可以 ...
- laravel 中将DB::select 得到的内容转为数组
$sql = "select count(*) as num from api_log where uid='{$this->uid}'"; $ ...
- Django之mysql表单操作
在Django之ORM模型中总结过django下mysql表的创建操作,接下来总结mysql表记录操作,包括表记录的增.删.改.查. 1. 添加表记录 class UserInfo(models.Mo ...
- iOS6 自动布局 入门–Auto Layout
目前为止,即使你的界面设计是在合理的复杂度内,你也必须要为之写许多代码来适应变化的布局.现在我相信你会很高兴听到这种情况将不会发生了-对于iPhone与iPad IOS6 带来了一个非常了不起的特征: ...
- iOS6和iOS7代码的适配(6) —— NSLocalizedString
我们的应用都是需要国际化的,字符串也是重要的一环.一般来说,我们是通过一个string资源文件来实现这个目的的,我们需要支持几种语言,就把这个文件本地化多少次.代码中需要用NSLocalizedStr ...
- Fragment详解及举例
1.为什么用Fragment(Android3.0提出)来替代TabActivity(Android4.0以后正式被弃用)? 因为Fragment可以适应各种不同屏幕大小,也就是适应不同屏幕的分辨率. ...