Saya baru mengenal webpack, dan saya memerlukan bantuan dalam pengaturan untuk membuat peta sumber. Saya menjalankan webpack serve
dari baris perintah, yang mengkompilasi dengan sukses. Tapi aku benar-benar membutuhkan peta sumber. Ini milik saya 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()
]
};
Saya benar-benar baru di webpack, dan melihat meskipun dokumen tidak benar-benar membantu karena saya tidak yakin apa masalah ini khusus.
The 'debug' property was removed in webpack 2.
Jawaban:
Untuk menggunakan peta sumber, Anda harus mengubah nilai
devtool
opsi dari ke nilai yang tersedia di , misalnyatrue
this list
source-map
sumber
denug
properti telah dihapus di Webpack 2.devtool
sudah cukup. Tidak perlu untuk nilai debug.Mungkin orang lain memiliki masalah ini pada satu titik. Jika Anda menggunakan di
UglifyJsPlugin
dalam,webpack 2
Anda perlu menentukansourceMap
bendera secara eksplisit . Sebagai contoh:sumber
devtool: 'source-map'
agar berfungsiKonfigurasi webpack minimal untuk jsx dengan folder sumber:
Menjalankannya:
sumber
Jika mengoptimalkan untuk dev + produksi , Anda dapat mencoba sesuatu seperti ini di konfigurasi Anda:
Dari dokumen:
Saya menggunakan webpack 2.1.0-beta.19
sumber
dev
set variabel?.env
file-file ditentukan atau mutasiprocess.env
. ini hanya sebuah contoh tetapi bisa terlihat seperti ini:const dev = process.env.development === true
Di Webpack 2 saya mencoba semua 12 opsi devtool. Opsi berikut ini menautkan ke file asli di konsol dan menyimpan nomor baris. Lihat catatan di bawah ini: baris saja.
https://webpack.js.org/configuration/devtool
devtool pilihan dev terbaik
hanya garis
Source Maps disederhanakan menjadi pemetaan tunggal per baris. Ini biasanya berarti pemetaan tunggal per pernyataan (dengan asumsi Anda adalah penulis seperti ini). Ini mencegah Anda dari men-debug eksekusi pada tingkat pernyataan dan dari pengaturan breakpoint pada kolom garis. Menggabungkan dengan meminimalkan tidak mungkin dilakukan karena minimizer biasanya hanya memancarkan satu baris.
MENGUNGKAPKAN INI
Pada proyek besar saya menemukan ... eval-source-map waktu pembangunan kembali adalah ~ 3.5s ... inline-source-peta waktu pembangunan kembali adalah ~ 7s
sumber
Bahkan masalah yang sama saya hadapi, di browser itu menunjukkan kode yang dikompilasi. Saya telah membuat perubahan di bawah ini dalam file konfigurasi webpack dan sekarang berfungsi dengan baik.
dan di loader saya terus babel-loader sebagai opsi pertama
sumber
debug
properti telah dihapus di Webpack 2.include
opsi adalah apa yang diperbaiki untuk saya. Di webpack 2 terlihat seperti ini:rules: [{loader: 'babel-loader', include: [path.resolve(__dirname, "src")]