Je suis un peu nouveau sur Webpack et j'ai du mal à le configurer pour produire les cartes sources nécessaires. Dans les devtools, il est dit
Carte source détectée
mais il montre le paquet et pas le code original:
Voici mon webpack.config.js:
module.exports = {
entry: [
'webpack-dev-server/client?http://localhost:8080/',
'webpack/hot/dev-server',
"./src/index.js"
],
output: {
filename: 'bundle.js',
path: '/',
},
debug: true,
devtool: 'source-map',
resolve: {
extensions: ['', '.jsx', '.scss', '.js', '.json']
},
module: {
loaders: [
{
test: /(\.js|\.jsx)$/,
exclude: /node_modules/,
loaders: ['react-hot','babel']
},
{
test: /\.scss$/,
exclude: /node_modules/,
loaders: ["style", "css?sourceMap", "sass?sourceMap"]
}
]
},
devServer: { hot: true },
plugins: [ new webpack.HotModuleReplacementPlugin() ],
inline: true,
progress: true,
colors: true
};
Et voici mon package.json:
{
"name": "react-template",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"dev:test": "./node_modules/.bin/webpack --config webpack.test.config.js",
"test:bundle": "./node_modules/.bin/tape test/bundle.js",
"dev:serve": "./node_modules/.bin/webpack-dev-server --config webpack.development.config.js"
},
"devDependencies": {
"babel-loader": "^6.2.1",
"babel-preset-es2015": "^6.3.13",
"babel-preset-react": "^6.3.13",
"babel-preset-stage-0": "^6.3.13",
"css-loader": "^0.23.1",
"node-sass": "^3.8.0",
"on-build-webpack": "^0.1.0",
"react": "^0.14.6",
"react-dom": "^0.14.6",
"react-hot-loader": "^1.3.0",
"sass-loader": "^3.2.1",
"style-loader": "^0.13.0",
"tape": "^4.4.0",
"webpack": "^1.12.12",
"webpack-dev-server": "^1.14.1"
}
}
J'ai essayé plusieurs variantes de l'option devtool
et lu this , this et this mais sans succès.
Toute aide est la bienvenue!
S'il vous plaît ajouter dans votre fichier webpack.config.js le suivant
devtool: "# inline-source-map",
Vous pouvez trouver des informations claires à ce sujet sur le site webpack` - https://webpack.github.io/docs/configuration.html
Veuillez également trouver ci-joint une copie d’écran de la partie sourcemap, provenant du site Webpack.
Assurez-vous que vous avez --mode development
dans votre script de construction npm
,
{
"name": "test",
"version": "1.0.1",
"description": "",
"scripts": {
"build": "webpack",
"start": "webpack-dev-server --mode development --open"
"test": "echo \"Error: no test specified\" && exit 1",
},
"author": "",
"license": "",
"devDependencies": {
"babel-core": "^6.26.3",
"babel-loader": "^7.1.5",
"babel-preset-env": "^1.7.0",
"webpack": "^4.19.1",
"webpack-cli": "^3.1.0",
"webpack-dev-server": "^3.1.8"
},
"dependencies": {}
}
webpack.config.js
const path = require('path');
var webpack = require('webpack');
module.exports = {
entry: './src/web.js',
devtool: 'inline-source-map',
output: {
filename: 'main.js',
path: path.resolve(__dirname, 'dist')
},
mode: 'development',
module: {
rules: [{
test: /\.js$/,
exclude: /(node_modules)/,
use: {
loader: "babel-loader",
options: {
presets: ["babel-preset-env"]
}
}
}]
},
devServer: {
inline: true,
contentBase: path.join(__dirname, 'dist'),
compress: true,
port: 9000,
watchOptions: {
index: 'index.html',
open: true,
poll: true,
watchContentBase: true
}
},
watch: true,
watchOptions: {
aggregateTimeout: 500,
ignored: /node_modules/,
poll: 3000
}
}