【发布时间】:2015-12-18 13:57:26
【问题描述】:
我正在使用 webpack 构建两个项目;一个是另一个图书馆。
在构建我的包装器项目时,是否可以使用我的库项目中的源映射?我希望能够从我的包装 UI 中调试我的库代码。
我的构建工作正常,因为库是内置的。唯一的问题是源映射。我在浏览器调试器中看到的 JavaScript 是 uglified,因为源映射不可用。
我的项目结构片段:
+-- my-ui/
+-- dist/
+-- my-ui.js
+-- my-ui.js.map
+-- node_modules/
+-- my-lib/
+-- dist/
+-- bundle.js
+-- bundle.js.map
来自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
})
]
};
【问题讨论】:
-
我没用过,但我认为 source-map-loader 就是你要找的东西。将其分配为
preLoader以获取必要的文件。这是假设bundle.js在末尾有源映射注释 -
嘿@MichelleTilley!我目前正在尝试使用
source-map-loader,但我有一个Cannot read property 'substr' of undefined。你知道它可能来自哪里吗?在我的webpack.config.js我有:devtool: 'source-map',preLoaders: [{ test: /\.js$/, loader: "source-map-loader" }],loaders: [{ test: /\.ts$/, loader: 'ts-loader' }, { test: /\.html$/, loader: 'raw-loader' }, { test: /\.css$/, loader: 'style-loader!css-raw-loader' }]
标签: javascript reactjs webpack