webpack+express实现“热更新”和“热加载”
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了webpack+express实现“热更新”和“热加载”,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1822字,纯文字阅读大概需要3分钟。
内容图文
“热更新”:对应的是 ‘webpack-dev-middleware‘ 中间件
“热加载”:对应的是 ‘webpack-hot-middleware‘ 中间件
为了使用这两个中间件,必须修改“webpack.config.js"和”server.js“
webpack配置文件(“webpack.config.js")和上一篇博文写的大致相同,下面给出一个vue+webpack开发常用的配置:
const path = require(‘path‘); const htmlPlugin = require(‘html-webpack-plugin‘); const webpack = require(‘webpack‘); module.exports = { entry: [‘webpack-hot-middleware/client‘,‘./index.js‘], output:{ path: path.resolve(__dirname,‘./dist‘), filename: ‘[name].bundle.js‘ }, plugins:[ new webpack.HotModuleReplacementPlugin(), new webpack.NoEmitOnErrorsPlugin(), new htmlPlugin({ template: path.resolve(__dirname,‘./index.html‘) }) ], resolve:{ extensions: [‘.js‘,‘.vue‘], alias:{ ‘vue‘:‘vue/dist/vue.js‘ } }, module:{ loaders:[ { test: /\.js$/, loader: ‘babel-loader?presets=env‘, include: path.resolve(__dirname,‘src‘) },{ test: /\.vue$/, loader: ‘vue-loader‘, include: path.resolve(__dirname,‘src‘) } ] } }
值得注意的是entry和plugins的变化:
entry多引入了一个‘webpack-hot-middleware/client‘入口文件 ,这个很明显就是一个核心为“window.location.reload();”的js文件,用于刷新浏览器,生成的时候会被webpack一并打包进bundle.js
plugins多了两个:
new webpack.HotModuleReplacementPlugin(), new webpack.NoEmitOnErrorsPlugin()
官方解释大概是说用来替换一些字解释,使得错误界面不会太乱。
你会发现这两处改写都是为了‘webpack-hot-middleware‘刷新浏览中间件而改写的。
express的写法(server.js)如下:
const express = require(‘express‘); const webpack = require(‘webpack‘); const config = require(‘./webpack.config.js‘); //给webpack带上配置 const compiler = webpack(config); //自动更新编译代码中间件 const devMiddleWare = require(‘webpack-dev-middleware‘)(complier,{}); //自动刷新浏览器中间件 const hotMiddleWare = require(‘webpack-hot-middleware‘)(compiler); const server = express(); //调用2个中间件server.use(devMiddleWare); server.use(hotMiddleWare); server.listen(8088);
完事儿~~
这个时候你去试下修改app.vue那些文件,你就会发现编译的代码自动刷新了~~
原文:https://www.cnblogs.com/amiezhang/p/8303794.html
内容总结
以上是互联网集市为您收集整理的webpack+express实现“热更新”和“热加载”全部内容,希望文章能够帮你解决webpack+express实现“热更新”和“热加载”所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。