- 43
- 0
自己基于webpack写了个命令行工具,用的是webpack-dev-server,修改文件没有引起页面重载或者模块重载,具体表现如下:
- 修改文件能引起compiled
- 刷新能看到修改的内容
- websocket接收到了compiled信息
相关信息:
"webpack": "^3.11.0",
"webpack-bundle-analyzer": "^2.9.0",
"webpack-dev-server": "^2.11.2",
"webpack-hot-middleware": "^2.21.0",
devSever配置如下
devServer: {
clientLogLevel: 'warning',
hot: true,
hotOnly: true,
contentBase: false,
compress: true,
host: HOST || config.dev.host,
port: PORT || config.dev.port,
open: config.dev.autoOpenBrowser,
overlay: config.dev.errorOverlay
? { warnings: false, errors: true }
: false,
publicPath: config.dev.assetsPublicPath, // /
proxy: config.dev.proxyTable,
quiet: true,
watchOptions: {
poll: config.dev.poll, // true
}
},
plugins: [
new webpack.DefinePlugin({
'process.env': require('../config/dev.env')
}),
new webpack.HotModuleReplacementPlugin(),
// new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update.
// new webpack.NoEmitOnErrorsPlugin(),
// https://github.com/ampedandwired/html-webpack-plugin
new HtmlWebpackPlugin({
filename: 'index.html',
template: dirs.template,
inject: true
}),
// copy custom static assets
new CopyWebpackPlugin([
{
from: dirs.statics,
to: config.dev.assetsSubDirectory,
ignore: ['.*']
}
]),
new FriendlyErrorsPlugin({
compilationSuccessInfo: {
messages: [`Your application is running here: http://${config.dev.host}:${config.dev.port}`],
},
onErrors: config.dev.notifyOnErrors
? utils.createNotifierCallback()
: undefined
})
] - 共 0 条
- 全部回答
-
高ジ冷的内在 普通会员 1楼
Webpack Dev Server 是一个 Node.js 服务,用于热加载 Webpack 配置和应用代码,为开发者提供一个快速、高效和稳定的开发环境。要使 Webpack Dev Server 引起浏览器刷新或模块替换,您可以使用以下方法:
- 设置默认刷新:
在
webpack.config.js文件中,您可以使用watch和serve配置选项来设置默认刷新。示例代码:
javascript module.exports = { // ... devServer: { hot: true, port: 3000, hotModuleReplacement: true, publicPath: './dist', }, // ... };在上面的配置中,当编译文件发生改变时,Dev Server 将自动刷新浏览器。
- 使用
watch配置:
如果您希望 Dev Server 在编译文件发生改变时自动刷新浏览器,您可以使用
watch配置。例如,您可以添加以下配置:示例代码:
javascript module.exports = { // ... devServer: { watch: true, port: 3000, hotModuleReplacement: true, publicPath: './dist', }, // ... };- 使用
server配置:
如果您希望 Dev Server 在编译文件发生改变时自动刷新浏览器,并使用单独的服务器来处理静态文件,您可以使用
server配置。例如,您可以添加以下配置:示例代码:
javascript module.exports = { // ... devServer: { hot: true, port: 3000, hotModuleReplacement: true, publicPath: './dist', publicPath: '/static', }, // ... };在上面的配置中,当编译文件发生改变时,Dev Server 将自动刷新浏览器,并将文件分发到
/static目录下。请注意,使用
watch和server配置将使 Dev Server 更加复杂,可能需要更多的时间和精力来管理。此外,还请确保您的开发服务器支持浏览器的缓存刷新功能。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
