I created a simple webpack based project to learn snabbdom. Everything was OK except that sourcemap failed loading:
I don\'t know whose issue(webpack, chrome) i
Perhaps in each of those js files there is something like url commented:
/*# sourceMappingURL=dsggdgdg.fdgdfn.dfg.map */
remove that
Update webpack.config.js
module.exports = {
// ...
entry: {
"app": "src/app.js"
},
output: {
path: path.join(__dirname, 'dist'),
filename: "[name].js",
sourceMapFilename: "[name].js.map"
},
devtool: "source-map"
// ...
};
Detailed in https://blog.sentry.io/2018/10/18/4-reasons-why-your-source-maps-are-broken
Go to Dev Tools in browser
Click to settings
Disable "Enable JavaScript source maps"
The source map you are trying to load is in node_modules
and not part of webpack bundle. "If not extracted and processed into the source map of the webpack bundle, browsers may misinterpret source map data" ref. When app is loaded that causes "ERR_UNKNOWN_URL_SCHEME" in chrome dev tools console.
To process node_module
source maps to webpack bundle, use source-map-loader
loader. That will fix console warnings.
Add dependency to package.json
:
"devDependencies": {
"source-map-loader": "^1.0.0",
...
}
Update webpack.config.js
:
module: {
rules: [
{
test: /\.js$/,
enforce: 'pre',
use: ['source-map-loader'],
},
],
},
To generate source maps for snabbdom-test project in general you can use SourceMapDevToolPlugin
.
Update webpack.config.js
:
const { SourceMapDevToolPlugin } = require("webpack");
plugins: [
new SourceMapDevToolPlugin({
filename: "[file].map"
}),
...
],
If you want to just turn these off, you can use a webpack devtool
option that ignores them. Detailed in my related question here