عند توفير sourceRoot ، يتم نسخه مباشرة في ملف الخريطة المصدر كما هو. هذا لا يعمل بشكل صحيح مع خيارات rootDir و outDir. على سبيل المثال ، إذا كان لدي الهيكل التالي:
الريبو / src / www / foo.ts
الريبو / src / bar.ts
وأريد إخراج الملفات إلى repo / out / ، حاولت استخدام sourceRoot: '../src' وهذا يعمل بشكل جيد مع bar.js ، لكن ليس www / foo.js. آمل أن يكون هذا التفسير منطقيًا.
sourceRoot
الجذر الذي يجب استخدامه بواسطة التصحيح لتحديد موقع المصادر ذات الصلة بـ. إذا كنت تريد فقط مسارًا نسبيًا ، فلا تقم بتعيين sourceRoot ويجب أن يحدث الشيء الصحيح ..
إذن هذا هو الإعداد الخاص بي:
tsconfig.json
{
"compilerOptions": {
"rootDir": "./",
"outDir": "./out",
"sourceMap": true
}
}
التجميع ، أحصل على:
C:\test\5180>type out\bar.js.map
{"version":3,"file":"bar.js","sourceRoot":"","sources":["../src/bar.ts"],"names":[],"mappings":"AAAA,IAAI,CAAC,GAAE,CAAC,CAAC"}
C:\test\5180>type out\www\foo.js.map
{"version":3,"file":"foo.js","sourceRoot":"","sources":["../../src/www/foo.ts"],"names":[],"mappings":"AAAA,IAAI,CAAC,GAAG,CAAC,CAAC"}
خطأي ، يبدو أنه يعمل عند استخدام tsc. يبدو أن هناك مشكلة في تكامل gulp. شكر.
mhegazysheetalkamat لقد التالية tsconfig.json:
{
"compilerOptions": {
"rootDir": "./",
"outDir": "./out",
"sourceMap": true
}
}
مصادري في ./src
وفي خرائط المصدر لدي "sources":["../../src/index.ts"]
هذا صحيح للتطوير ، لكن ما أريد القيام به لبناء الإنتاج هو "sources":["src/index.ts"]
(لأنني أرسل خرائط المصدر مع كود المصدر ، وأريد في بناء الإنتاج الحصول على ts بالقرب من js). هل هناك طريقة لفعل ذلك؟
التعليق الأكثر فائدة
mhegazysheetalkamat لقد التالية tsconfig.json:
مصادري في ./src
وفي خرائط المصدر لدي
"sources":["../../src/index.ts"]
هذا صحيح للتطوير ، لكن ما أريد القيام به لبناء الإنتاج هو
"sources":["src/index.ts"]
(لأنني أرسل خرائط المصدر مع كود المصدر ، وأريد في بناء الإنتاج الحصول على ts بالقرب من js). هل هناك طريقة لفعل ذلك؟