underscore.js - خطای کامپایل TypeScript در فایل underscore.d.ts روی کنترلکننده ساخت میزبانیشده در Visual Studio Online
من یک وبسایت Azure دارم که به Visual Studio Online متصل است. هنگام اتصال این دو، Visual Studio Online یک اجرای ساخت تحویل پیوسته روی کنترلکننده ساخت میزبانیشده ایجاد میکند. این ساخت بهطور مداوم با یک خطای کامپایل تایپاسکریپت در underscore.d.ts (یک تعریف نوع TypeScript از http://definitelytyped.org/) که به شرح زیر است، شکست میخورد:
\Scripts\typings\underscore\underscore.d.ts(2315,1): خطا TS2160: ساخت: یک نوع عمومی ممکن است به صورت بستهبندی شده از پارامترهای نوع خود به خودش ارجاع ندهد.
ما از تایپاسکریپت 1.0 استفاده میکنیم:
<TypeScriptToolsVersion>1.0</TypeScriptToolsVersion>
پروژه هم بهصورت محلی و هم روی سرور ساخت TFS داخلی ما بدون خطا ساخته میشود. حدس من این است که مشکل مربوط به نسخه کامپایلر TypeScript در Visual Studio Online باشد.
سوال من این است که آیا راه حلی برای این مشکل وجود دارد. آیا، برای مثال، امکان حذف مشروط فایل underscore.d.ts از فرایند ساخت وجود دارد؟
پاسخ شماره ۱
یک راه حل جانبی میتواند این باشد که کامپایلر TypeScript خود را فراهم کنید. TypeScript در npm موجود است و به اندازه کافی آسان است که TypeScript را به این روش با استفاده از یک افزونه مناسب برای grunt یا gulp، به عنوان دو مثال، کامپایل کنید. شما میتوانید npm و gulp/grunt را به عنوان یک اسکریپت پیشساخت یا به عنوان اقدامات سفارشی در جریان کاری خود اضافه کنید. (من کامپایلهای TypeScript را با بهینهسازی r.js به صورت خودکار در استقرارهای git Azure با استفاده از npm و grunt خودکار کردهام.)
پاسخ شماره ۲
اشکال اکنون برطرف شده است. نیازی به راهحل موقت نیست. ساختن در فضای ابری را خوش بگذرانید!