所以nyc如下处理我的文件:
at _onCreate (src/post/admin.js:1:10453)
at doQuery (src/db.js:59:216)
at process._tickCallback (internal/process/next_tick.js:68:7)
我不确定如何使用源地图对此进行分解。文档状态:
使用源映射进行准确的堆栈跟踪。
当Produce-source-map设置为true时,被检测的源文件将包括用于检测器转换的内联源映射。与source-map-support结合使用时,已检测代码的堆栈跟踪将反映其原始行。
所以我尝试了以下npm run命令:
"NODE_ENV=test nyc mocha --require ./tests/setup.js --require source-map-support/register --produce-source-map true --bail ./tests/unit/$FILE"
结合nyc设置:
"nyc": {
"include": [
"src"
],
"exclude": [
"./tmp/**/*",
"./tests"
],
"instrument": true,
"report-dir": "./tests/coverage",
"temp-dir": "./tests/temp",
"source-map": true,
"produce-source-map": true
}
但该行仍被破坏。
答案 0 :(得分:9)
它起作用的基本前提是(如here所述):
npm install --save-dev source-map-support
确保nyc
是^10.3.2
(10.3.0
已损坏)。
"devDependencies": {
...
"mocha": "^3.3.0",
"nyc": "^10.3.2",
"source-map-support": "^0.4.15",
}
nyc
的配置应为"sourceMap": true, "produce-source-map": true
。
和documentation解释了如何使用它们:
CLI使用情况
node -r source-map-support/register compiled.js
程序用法
将以下行放在编译文件的顶部。
require('source-map-support').install();
还可以通过添加注释来定义映射文件名:
//# sourceMappingURL=filename.js.map