Je suis nouveau sur webpack, et j'ai besoin d'un coup de main dans la configuration pour générer des sourcemaps. Je cours webpack serve
depuis la ligne de commande, qui se compile avec succès. Mais j'ai vraiment besoin de sourcemaps. Ceci est mon webpack.config.js
.
var webpack = require('webpack');
module.exports = {
output: {
filename: 'main.js',
publicPath: '/assets/'
},
cache: true,
debug: true,
devtool: true,
entry: [
'webpack/hot/only-dev-server',
'./src/components/main.js'
],
stats: {
colors: true,
reasons: true
},
resolve: {
extensions: ['', '.js', '.jsx'],
alias: {
'styles': __dirname + '/src/styles',
'mixins': __dirname + '/src/mixins',
'components': __dirname + '/src/components/',
'stores': __dirname + '/src/stores/',
'actions': __dirname + '/src/actions/'
}
},
module: {
preLoaders: [{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
loader: 'jsxhint'
}],
loaders: [{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
loader: 'react-hot!babel-loader'
}, {
test: /\.sass/,
loader: 'style-loader!css-loader!sass-loader?outputStyle=expanded&indentedSyntax'
}, {
test: /\.scss/,
loader: 'style-loader!css!sass'
}, {
test: /\.(png|jpg|woff|woff2)$/,
loader: 'url-loader?limit=8192'
}]
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
new webpack.NoErrorsPlugin()
]
};
Je suis vraiment nouveau sur webpack, et regarder si la documentation n'a pas vraiment aidé car je ne sais pas à quoi ce problème est spécifique.
The 'debug' property was removed in webpack 2.
Réponses:
Pour utiliser la carte source, vous devez changer la valeur de l'
devtool
option de la valeur disponible dans , par exempletrue
this list
source-map
la source
denug
propriété a été supprimée dans le webpack 2.devtool
c'est suffisant. Pas besoin de valeur de débogage.Peut-être que quelqu'un d'autre a ce problème à un moment donné. Si vous utilisez le
UglifyJsPlugin
dans,webpack 2
vous devez spécifier explicitement l'sourceMap
indicateur. Par exemple:la source
devtool: 'source-map'
pour que cela fonctionneConfiguration minimale du webpack pour jsx avec sourcemaps:
Exécuter:
la source
Si vous optimisez pour la production dev + , vous pouvez essayer quelque chose comme ceci dans votre configuration:
De la documentation:
J'utilise webpack 2.1.0-beta.19
la source
dev
définie la variable?.env
fichiers définis ou des mutationsprocess.env
. ce n'est qu'un exemple mais cela pourrait ressembler à ceci:const dev = process.env.development === true
Sur Webpack 2, j'ai essayé les 12 options de devtool. Les options suivantes sont liées au fichier d'origine dans la console et conservent les numéros de ligne. Voir la note ci-dessous concernant les lignes uniquement.
https://webpack.js.org/configuration/devtool
devtool meilleures options de développement
lignes uniquement
Les cartes sources sont simplifiées en une seule cartographie par ligne. Cela signifie généralement un seul mappage par instruction (en supposant que votre auteur soit ainsi). Cela vous empêche de déboguer l'exécution au niveau de l'instruction et de définir des points d'arrêt sur les colonnes d'une ligne. La combinaison avec la minimisation n'est pas possible car les minimiseurs n'émettent généralement qu'une seule ligne.
REVISITER CELA
Sur un grand projet, je trouve ... le temps de reconstruction eval-source-map est ~ 3.5s ... le temps de reconstruction inline-source-map est ~ 7s
la source
Même problème que j'ai rencontré, dans le navigateur, il montrait du code compilé. J'ai apporté ci-dessous des modifications dans le fichier de configuration webpack et cela fonctionne bien maintenant.
et dans les chargeurs, j'ai gardé babel-loader comme première option
la source
debug
propriété a été supprimée dans le webpack 2.include
option est ce qui l'a corrigé pour moi. Dans le webpack 2, cela ressemble à ceci:rules: [{loader: 'babel-loader', include: [path.resolve(__dirname, "src")]