Buduję dwa projekty z pakietem sieci Web; jedna jest biblioteką dla drugiej.Jak załadować mapy źródłowe biblioteki za pomocą pakietu internetowego?
Czy można spożywać sourcemaps z mojego projektu bibliotecznego podczas budowania projektu opakowania? Chciałbym mieć możliwość debugowania kodu biblioteki z mojego interfejsu użytkownika opakowania.
Moja kompilacja działa poprawnie, ponieważ biblioteka jest wbudowana. Jedyny problem to sourcemaps. JavaScript, który widzę w debuggerze przeglądarki, jest uciążliwy, ponieważ pliki cookie są niedostępne.
urywek mojego struktury projektu:
+-- my-ui/
+-- dist/
+-- my-ui.js
+-- my-ui.js.map
+-- node_modules/
+-- my-lib/
+-- dist/
+-- bundle.js
+-- bundle.js.map
urywek z 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
})
]
};
Nie użyłem tego, ale myślę, że * [source-map-loader] (https://github.com/webpack/source-map-loader) jest tym, czego szukasz. Przypisz go jako "preLoader" do potrzebnych plików. Zakłada się, że 'bundle.js' ma komentarz do mapy źródłowej na końcu: –
Hej @MichelleTilley! Obecnie próbuję użyć 'source-map-loader', ale mam' nie można odczytać właściwości 'substr' undefined'. Czy masz pojęcie, skąd może pochodzić? W moim 'webpack.config.js' mam:' devtool: 'source-map'', 'preLoaders: [{test:/\.js $ /, loader: "source-map-loader"}] ',' loader: [{test: /\.ts$/, loader: 'ts-loader'}, {test: /\.html$/, loader: 'raw-loader'}, {test: /\.css$/, loader: 'style-loader! css-raw-loader'}] ' –