在 Electron 中使用模块热替换
如果再搭上 关于 在 所以监听到变化之后,
当时这个问题搞疯了我,花了很长时间,所以这篇就是为了记录下当时的坑。 上图出现的情况,当时用的配置就是使用的比较官方的方式,使用 import path from 'path' import webpack from 'webpack' module.exports = { devtool: 'eval',entry: [ 'webpack-dev-server/client?http://localhost:3000','webpack/hot/only-dev-server','./src/index' ],output: { path: path.join(__dirname,'dist'),filename: 'bundle.js',publicPath: '/static/' },plugins: [ new webpack.HotModuleReplacementPlugin() ],module: { loaders: [{ test: /.js$/,loaders: ['react-hot','babel'],include: path.join(__dirname,'src') }] } } 然后换成 React Hot Loader 3 试了一下,果然不出所料,还是没能成功。 原本以为问题就是出在 然后用 'use strict' import express from 'express' import webpack from 'webpack' import webpackDevMiddleware from 'webpack-dev-middleware' import webpackHotMiddleware from 'webpack-hot-middleware' import config from './webpack.config.dev' const app = express() const compiler = webpack(config) const PORT = 3000 app.use(webpackDevMiddleware(compiler,{ publicPath: config.output.publicPath,noInfo: false,reload: true,stats: { colors: true } })) // hot app.use(webpackHotMiddleware(compiler)) app.listen(PORT,'localhost',(err) => { if (err) { console.error(err) return } console.log(`Listening at http://localhost:${PORT}`) }) 然而还是不行,最后研究了这个仓库的配置, Note: 为了避免更多人步我后尘,就去给 这时候热替换的问题也就解决了,这个过程还能从提交历史中看到 PupaFM。 But... 当后来有时间再回顾这个问题的时候,一直在想第一种方式应该能解决才对啊, 最后再一次查看了一遍 output.publicPath
For loaders that embed 那我是不是只要把相对路径改成绝对地址,就可以监听到文件的更新了。 只要这样就好了嘛 然后写了个 demo ,具体代码可参考 Electron React Hot Boilerplate。 果然... 还是需要好好阅读完文档啊,虽然 原文链接 http://xwartz.github.io/pupa/2016/06/electron-with-hmr/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |