In webpack.dev.conf.js add next code
- require fs
- add before hook to devServer conf.
example:
const fs = require('fs')
const devWebpackConfig = merge(baseWebpackConfig, {
module: {
rules:rules
},
devtool: config.dev.devtool,
devServer: {
clientLogLevel: 'warning',
before(app){
app.get('/firebase-messaging-sw.js', function(req, res) {
let content = fs.readFileSync(path.resolve(__dirname, '../src/firebase-messaging-sw.js'), 'utf-8')
res.header("Content-Type", "text/javascript");
res.send(content)
return res
});
},
And don`t forget copy the file in prod mode.
new CopyWebpackPlugin([
{
from: path.resolve(__dirname, '../src/firebase-messaging-sw.js'),
to: config.build.assetsRoot + '/firebase-messaging-sw.js'
}
]),