4

我正在尝试使用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在开发中使用,并为生产生成一个单独的地图文件(这也不起作用)。

4

1 回答 1

0

这种类型的“开发工具”帮助了我

devtool: 'eval'
于 2015-07-08T07:41:06.320 回答