<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Компиляция TypeScript через tsc]]></title><description><![CDATA[<h2>Компиляция</h2>
<p dir="auto">Мы уже знакомы с утилитой <code>tsc</code> из пакета typescript, с ее помощью мы можем создавать файлы конфига.<br />
Но основное ее предназначение это - компиляция TypeScript в JavaScript.</p>
<blockquote>
<p dir="auto">Про добавление TypeScript в проект писал в <a href="https://forum.exlends.com/topic/225/dobavlyaem-typescript-v-proekt" target="_blank" rel="noopener noreferrer">этой теме</a>.</p>
</blockquote>
<pre><code class="language-ts">// script.ts

const user: string = 'User';

console.log(user);
</code></pre>
<p dir="auto">Возьмем наш пример кода выше <code>script.ts</code> и выполним команду:</p>
<pre><code>./node_modules/.bin/tsc script.ts
</code></pre>
<p dir="auto">И теперь рядом с файлом <code>.ts</code> появится файл <code>script.js</code>, который мы можем выполнить как в node.js так и в браузере.</p>
<blockquote>
<p dir="auto">На заметку: Компилятору <code>tsc</code> не требуется указывать параметры — он самостоятельно находит и компилирует все <strong>TypeScript</strong>-файлы проекта.</p>
</blockquote>
<h2>О package.json для TS</h2>
<p dir="auto">В отличие от простой команды, которую мы выполнили выше, реальные команды сборки и запуска часто бывают более запутанными и большими.</p>
<p dir="auto">Чтобы не набирать их каждый раз вручную, их рекомендуется сохранять в разделе <code>scripts</code> файла <code>package.json</code>.</p>
<p dir="auto">Пример:</p>
<pre><code class="language-json">// package.json

{
  ...
  "scripts": {
    "build": "tsc src/index.ts --declaration",
    "build:dev": "tsc src/index.ts --sourceMap",
    "watch": "tsc src/index.ts --watch"
  },
  ...
} 
</code></pre>
<p dir="auto">Прописав в команды, теперь мы можем выполнять их в консоли <code>npm run build</code> и другие команды.</p>
]]></description><link>https://forum.exlends.ru/topic/226/kompilyaciya-typescript-cherez-tsc</link><generator>RSS for Node</generator><lastBuildDate>Tue, 25 Aug 2026 04:49:28 GMT</lastBuildDate><atom:link href="https://forum.exlends.ru/topic/226.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 28 Aug 2025 07:40:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Компиляция TypeScript через tsc on Fri, 05 Sep 2025 19:07:22 GMT]]></title><description><![CDATA[<p dir="auto">Теперь понял, что лучше использовать tsconfig и npm scripts — это действительно удобнее, чем компилировать каждый файл вручную.</p>
]]></description><link>https://forum.exlends.ru/post/518</link><guid isPermaLink="true">https://forum.exlends.ru/post/518</guid><dc:creator><![CDATA[Алекс44]]></dc:creator><pubDate>Fri, 05 Sep 2025 19:07:22 GMT</pubDate></item><item><title><![CDATA[Reply to Компиляция TypeScript через tsc on Fri, 05 Sep 2025 19:05:17 GMT]]></title><description><![CDATA[<p dir="auto">Достаточно просто запустить tsc --watch (или tsc -w) в корне проекта с tsconfig.json. Компилятор будет отслеживать изменения во всех TypeScript-файлах.</p>
]]></description><link>https://forum.exlends.ru/post/517</link><guid isPermaLink="true">https://forum.exlends.ru/post/517</guid><dc:creator><![CDATA[Wowk]]></dc:creator><pubDate>Fri, 05 Sep 2025 19:05:17 GMT</pubDate></item><item><title><![CDATA[Reply to Компиляция TypeScript через tsc on Fri, 05 Sep 2025 19:05:13 GMT]]></title><description><![CDATA[<p dir="auto">Как настроить watch mode для всего проекта, а не одного файла? В примере указан конкретный файл, но у меня их десятки.</p>
]]></description><link>https://forum.exlends.ru/post/516</link><guid isPermaLink="true">https://forum.exlends.ru/post/516</guid><dc:creator><![CDATA[Василий]]></dc:creator><pubDate>Fri, 05 Sep 2025 19:05:13 GMT</pubDate></item><item><title><![CDATA[Reply to Компиляция TypeScript через tsc on Fri, 05 Sep 2025 19:05:03 GMT]]></title><description><![CDATA[<p dir="auto">–declaration генерирует .d.ts файлы для типов (нужно для библиотек), а --sourceMap создает карты источников для отладки — связывают скомпилированный JS с исходным TS в devtools.</p>
]]></description><link>https://forum.exlends.ru/post/515</link><guid isPermaLink="true">https://forum.exlends.ru/post/515</guid><dc:creator><![CDATA[Ванек]]></dc:creator><pubDate>Fri, 05 Sep 2025 19:05:03 GMT</pubDate></item><item><title><![CDATA[Reply to Компиляция TypeScript через tsc on Fri, 05 Sep 2025 19:04:56 GMT]]></title><description><![CDATA[<p dir="auto">Не могу понять, а в чем разница между флагами --declaration и --sourceMap? Когда какой использовать нужно? В чем тут преимущества?</p>
]]></description><link>https://forum.exlends.ru/post/514</link><guid isPermaLink="true">https://forum.exlends.ru/post/514</guid><dc:creator><![CDATA[Алекс44]]></dc:creator><pubDate>Fri, 05 Sep 2025 19:04:56 GMT</pubDate></item><item><title><![CDATA[Reply to Компиляция TypeScript через tsc on Fri, 05 Sep 2025 19:03:03 GMT]]></title><description><![CDATA[<p dir="auto">Лучше создать tsconfig.json и указать там корневую папку с исходниками. Тогда команда tsc без параметров скомпилирует все файлы. В npm scripts можно просто прописать “build”: “tsc”.</p>
]]></description><link>https://forum.exlends.ru/post/513</link><guid isPermaLink="true">https://forum.exlends.ru/post/513</guid><dc:creator><![CDATA[Wowk]]></dc:creator><pubDate>Fri, 05 Sep 2025 19:03:03 GMT</pubDate></item><item><title><![CDATA[Reply to Компиляция TypeScript через tsc on Fri, 05 Sep 2025 19:02:59 GMT]]></title><description><![CDATA[<p dir="auto">Потому что обычно tsc устанавливают глобально (npm i -g typescript) для простоты использования. Но если работаешь в проекте, лучше использовать npm scripts - так все участники будут использовать одинаковую версию компилятора.</p>
]]></description><link>https://forum.exlends.ru/post/512</link><guid isPermaLink="true">https://forum.exlends.ru/post/512</guid><dc:creator><![CDATA[Ванек]]></dc:creator><pubDate>Fri, 05 Sep 2025 19:02:59 GMT</pubDate></item><item><title><![CDATA[Reply to Компиляция TypeScript через tsc on Fri, 05 Sep 2025 19:02:51 GMT]]></title><description><![CDATA[<p dir="auto">А почему в примере компиляции отдельного файла используется прямой вызов tsc, а не через npm script? Это неудобно каждый раз писать полный путь к node_modules.</p>
]]></description><link>https://forum.exlends.ru/post/511</link><guid isPermaLink="true">https://forum.exlends.ru/post/511</guid><dc:creator><![CDATA[Алекс44]]></dc:creator><pubDate>Fri, 05 Sep 2025 19:02:51 GMT</pubDate></item><item><title><![CDATA[Reply to Компиляция TypeScript через tsc on Fri, 05 Sep 2025 19:02:26 GMT]]></title><description><![CDATA[<p dir="auto">У меня в проекте несколько точек входа — нужно ли для каждого файла прописывать отдельную команду в package.json? Или есть способ компилировать все сразу?</p>
]]></description><link>https://forum.exlends.ru/post/510</link><guid isPermaLink="true">https://forum.exlends.ru/post/510</guid><dc:creator><![CDATA[Василий]]></dc:creator><pubDate>Fri, 05 Sep 2025 19:02:26 GMT</pubDate></item></channel></rss>