Javascript 如何让js.map文件与UMD模块一起工作?
我有以下TS文件: 地图测试 MapModuleTest.ts 当我尝试在Chrome或FireFox中设置断点并调试Javascript 如何让js.map文件与UMD模块一起工作?,javascript,typescript,google-chrome-devtools,firefox-developer-tools,Javascript,Typescript,Google Chrome Devtools,Firefox Developer Tools,我有以下TS文件: 地图测试 MapModuleTest.ts 当我尝试在Chrome或FireFox中设置断点并调试MapTest的TypeScript时,一切正常。当我尝试调试MapModuelTest.ts时,在Chrome和Firefox中,TypeScript行似乎比实际的JS提前了两行。因此,如果我在这一行设置一个断点,const six=4+2它的行为就好像JS实际上在这一行中断一样consttwo=zero+2(即0定义为0,但2是未定义的) 这是已知的bug吗?UMD生成是否需
MapTest
的TypeScript时,一切正常。当我尝试调试MapModuelTest.ts
时,在Chrome和Firefox中,TypeScript行似乎比实际的JS提前了两行。因此,如果我在这一行设置一个断点,const six=4+2代码>它的行为就好像JS实际上在这一行中断一样consttwo=zero+2代码>(即0
定义为0
,但2
是未定义的
)
这是已知的bug吗?UMD生成是否需要一些不同的东西才能正确地为.map文件工作
调试器窗口更有趣的是,本地调试器与控制台不匹配。
下面是相关的JS和Map文件
MapTest.js
MapTest.js.map
MapModuleTest.js
MapModuleTest.js.map
我已将此记录为错误。希望这可以得到修复:
更新
这似乎是我用于pollyfill promises的es6 promise库的一个问题。一旦我切换到某物>=es6进行编译,映射就正常工作了
module Test
{
export function myTest() {
const zero = 0;
const two = zero + 2;
const four = two + two;
const six = four + two;
console.log(six);
}
}
export module Test
{
export function myTest() {
const zero = 0;
const two = zero + 2;
const four = two + two;
const six = four + two;
console.log(six);
}
}
var Test;
(function (Test) {
function myTest() {
var zero = 0;
var two = zero + 2;
var four = two + two;
var six = four + two;
console.log(six);
}
Test.myTest = myTest;
})(Test || (Test = {}));
//# sourceMappingURL=MapTest.js.map
{"version":3,"file":"MapTest.js","sourceRoot":"","sources":["MapTest.ts"],"names":[],"mappings":"AAAA,IAAO,IAAI,CASV;AATD,WAAO,IAAI;IAEV;QACC,IAAM,IAAI,GAAG,CAAC,CAAC;QACf,IAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC;QACrB,IAAM,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;QACvB,IAAM,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IANe,WAAM,SAMrB,CAAA;AACF,CAAC,EATM,IAAI,KAAJ,IAAI,QASV"}
(function (factory) {
if (typeof module === "object" && typeof module.exports === "object") {
var v = factory(require, exports);
if (v !== undefined) module.exports = v;
}
else if (typeof define === "function" && define.amd) {
define(["require", "exports"], factory);
}
})(function (require, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var Test;
(function (Test) {
function myTest() {
var zero = 0;
var two = zero + 2;
var four = two + two;
var six = four + two;
console.log(six);
}
Test.myTest = myTest;
})(Test = exports.Test || (exports.Test = {}));
});
//# sourceMappingURL=MapModuleTest.js.map
{"version":3,"file":"MapModuleTest.js","sourceRoot":"","sources":["MapModuleTest.ts"],"names":[],"mappings":";;;;;;;;;;;IAAA,IAAc,IAAI,CASjB;IATD,WAAc,IAAI;QAEjB;YACC,IAAM,IAAI,GAAG,CAAC,CAAC;YACf,IAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC;YACrB,IAAM,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;YACvB,IAAM,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;QANe,WAAM,SAMrB,CAAA;IACF,CAAC,EATa,IAAI,GAAJ,YAAI,KAAJ,YAAI,QASjB"}