我正在尝试使用webpackdevtool
的功能,我已经像这样设置了我的配置:
{
devtool: 'eval-source-map'
}
这似乎工作正常,我可以看到我的源代码被包装在eval()
函数中,并且在末尾附加了一个 base64 源映射。
但是,我的错误没有映射到源(Chrome 开发人员工具),而是收到如下错误:
ReferenceError: _ is not defined
at eval (eval at <anonymous> (http://localhost:8080/build/abc.js:78:2), <anonymous>:125:21)
abc.js
我的构建和连接文件的名称在哪里。单击错误以查看源代码只会将我带到如下eval
功能:
eval("var __WEBPACK_AMD_DEFINE_RESULT__;!(__WEBPACK_AMD_DEFINE_RESULT__ = (function() {\n /** @type {angular.Module} */\n return angular.module('utils', []);\n}.call(exports, __webpack_require__, exports, module)), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n// Load exports\n__webpack_require__(6);\n//@ sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbW9kdWxlcy91dGlscy9zcmMvbW9kdWxlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJrQ0FBQTtBQUNBLGFBQWEsZUFBZTtBQUM1QjtBQUNBLENBQUM7O0FBRUQ7QUFDQSIsInNvdXJjZXNDb250ZW50IjpbImRlZmluZShmdW5jdGlvbigpIHtcbiAgLyoqIEB0eXBlIHthbmd1bGFyLk1vZHVsZX0gKi9cbiAgcmV0dXJuIGFuZ3VsYXIubW9kdWxlKCd1dGlscycsIFtdKTtcbn0pO1xuXG4vLyBMb2FkIGV4cG9ydHNcbnJlcXVpcmUoJy4vZXhwb3J0cy9jb3JlJyk7XG4iXSwic291cmNlUm9vdCI6IndlYnBhY2stbW9kdWxlOi8vIn0=");
如果我解码 base64,我可以看到它生成的源映射似乎是有效的:
{
"version":3,
"sources":[
"./modules/utils/src/module.js"
],
"names":[
],
"mappings":"kCAAA;AACA,aAAa,eAAe;AAC5B;AACA,CAAC;;AAED;AACA",
"sourcesContent":[
"define(function() {\n /** @type {angular.Module} */\n return angular.module('utils', []);\n});\n\n// Load exports\nrequire('./exports/core');\n"
],
"sourceRoot":"webpack-module://"
}
有谁知道为什么这些源地图似乎不起作用?webpack 文档在某些方面仍然有些模棱两可。
请不要我只eval-source-map
在开发中使用,并为生产生成一个单独的地图文件(这也不起作用)。