Tôi đang xây dựng hai dự án với webpack; một là thư viện cho người kia.Làm thế nào để tải bản đồ nguồn thư viện bằng cách sử dụng webpack?
Có thể tiêu thụ các sourcemaps từ dự án thư viện của tôi khi xây dựng dự án trình bao bọc của tôi không? Tôi muốn có khả năng gỡ lỗi mã thư viện của tôi khỏi giao diện người dùng của tôi.
Công trình xây dựng của tôi hoạt động chính xác khi thư viện được tích hợp. Vấn đề duy nhất là các bản đồ nguồn. JavaScript tôi thấy trong trình gỡ rối trình duyệt bị uglified, bởi vì sourcemaps không có sẵn.
Snippet của cấu trúc dự án của tôi:
+-- my-ui/
+-- dist/
+-- my-ui.js
+-- my-ui.js.map
+-- node_modules/
+-- my-lib/
+-- dist/
+-- bundle.js
+-- bundle.js.map
Snippet từ webpack.config.js
:
module.exports = {
entry: './src/js/main.jsx',
output: {
path: path.join(__dirname, 'dist'),
filename: 'my-ui.js',
library: 'my-ui',
libraryTarget: 'umd'
},
devtool: 'source-map',
module: {
loaders: [
{test: /\.jsx?$/, loader: 'babel', include: path.join(__dirname, 'src')}
]
},
plugins: [
new Clean('dist'),
new HtmlWebpackPlugin({
template: 'src/index.html',
inject: true
})
]
};
Tôi chưa sử dụng nhưng tôi nghĩ * [source-map-loader] (https://github.com/webpack/source-map-loader) là những gì bạn đang tìm kiếm. Chỉ định nó làm 'trình tải trước' cho các tệp cần thiết. Điều này giả định rằng 'bundle.js' có chú thích bản đồ nguồn ở cuối –
Hey @MichelleTilley! Tôi hiện đang cố gắng sử dụng 'nguồn-bản đồ-loader', nhưng tôi đã có một 'Không thể đọc thuộc tính' substr 'của undefined'. Bạn có biết nó có thể đến từ đâu không? Trong 'webpack.config.js' của tôi, tôi có:' devtool: 'source-map'', 'preLoaders: [{test:/\.js $ /, bộ nạp: "source-map-loader"}] ',' bộ tải: [{test: /\.ts$/, bộ nạp: 'ts-loader'}, {test: /\.html$/, bộ nạp: 'raw-loader'}, {test: /\.css$/, bộ nạp: 'style-loader! css-raw-loader'}] ' –