Как получить файлы js.map для работы с модулями UMD?
У меня есть следующие файлы TS:
MapTest
module Test
{
export function myTest() {
const zero = 0;
const two = zero + 2;
const four = two + two;
const six = four + two;
console.log(six);
}
}
MapModuleTest.ts
export module Test
{
export function myTest() {
const zero = 0;
const two = zero + 2;
const four = two + two;
const six = four + two;
console.log(six);
}
}
Когда я пытаюсь установить точки останова и отладить TypeScript для MapTest
в Chrome или FireFox все работает как положено. Когда я пытаюсь отладить MapModuelTest.ts
Строка TypeScript на две строки впереди и в Chrome, и в Firefox больше, чем в реальном JS. Так что, если я поставлю точку останова на этой строке const six = four + two;
он действует так, как будто JS на самом деле ломает линию const two = zero + 2;
(т.е. zero
определяется как 0
, но two
является undefined
)
Это известная ошибка? Нужно ли генерации UMD что-то другое, чтобы правильно работать с файлами.map?
Окно отладчика еще интереснее тем, что локальное не соответствует консоли.
Вот соответствующие файлы JS и Map
MapTest.js
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
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"}
MapModuleTest.js
(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
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"}
1 ответ
Я зарегистрировал это как ошибку. Надеюсь, это можно исправить: