Jestem nowy w webpacku i potrzebuję pomocy w konfiguracji, aby generować sourcemaps. Uruchamiam webpack serve
z wiersza poleceń, który kompiluje się pomyślnie. Ale naprawdę potrzebuję sourcemaps. To jest mój 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()
]
};
Jestem naprawdę nowy w webpacku i szukam choć dokumenty tak naprawdę nie pomogły, ponieważ nie jestem pewien, na czym polega ten problem.
The 'debug' property was removed in webpack 2.
Odpowiedzi:
Aby użyć mapy źródłowej, należy zmienić wartość
devtool
opcji z na wartość dostępną na przykład wtrue
this list
source-map
źródło
denug
Nieruchomość została usunięta w WebPacka 2.devtool
wystarczy. Nie ma potrzeby żadnej wartości debugowania.Może ktoś inny ma ten problem w pewnym momencie. Jeśli używasz
UglifyJsPlugin
wwebpack 2
, musisz jawnie określićsourceMap
flagę. Na przykład:źródło
devtool: 'source-map'
, żeby zadziałałoMinimalna konfiguracja webpacka dla jsx z sourcemaps:
Uruchamianie:
źródło
Jeśli optymalizujesz pod kątem produkcji dev + , możesz spróbować czegoś takiego w swojej konfiguracji:
Z dokumentów:
Używam webpack 2.1.0-beta.19
źródło
dev
ustawiana jest zmienna?.env
zdefiniowane pliki lub mutacjeprocess.env
. to tylko przykład, ale może wyglądać tak:const dev = process.env.development === true
Na Webpack 2 wypróbowałem wszystkie 12 opcji devtool. Poniższe opcje prowadzą do oryginalnego pliku w konsoli i zachowują numery linii. Patrz uwaga poniżej tylko: linie:.
https://webpack.js.org/configuration/devtool
devtool najlepsze opcje dev
tylko linie
Mapy źródłowe są uproszczone do jednego mapowania na linię. Zwykle oznacza to pojedyncze mapowanie na instrukcję (zakładając, że autor jest w ten sposób). Zapobiega to debugowaniu wykonania na poziomie instrukcji i ustawianiu punktów przerwania w kolumnach linii. Łączenie z minimalizacją nie jest możliwe, ponieważ minimalizatory zwykle emitują tylko jedną linię.
PRZEGLĄDANIE TO
W dużym projekcie znajduję ... czas przebudowy mapy źródła eval wynosi ~ 3,5 s ... czas przebudowania mapy źródła źródłowego wynosi ~ 7 s
źródło
Nawet ten sam problem, z którym się spotkałem, w przeglądarce pokazywał skompilowany kod. Wprowadziłem poniższe zmiany w pliku konfiguracyjnym webpack i teraz działa dobrze.
aw ładowarkach jako pierwszą opcję zatrzymałem babel-loader
źródło
debug
Nieruchomość została usunięta w WebPacka 2.include
opcji naprawiło to dla mnie. W pakiecie internetowym 2 wygląda to tak:rules: [{loader: 'babel-loader', include: [path.resolve(__dirname, "src")]