Chrome показывает пустой файл TypeScript

Я настраиваю новый проект TypeScript в Visual Studio 2013.

В моем проекте VS есть возможность генерировать исходные карты. У меня есть возможность указать корневой каталог для файлов машинописного текста и указать корневой каталог для файлов исходных карт без флажка.

У меня есть возможность в инструментах Chrome Dev включить проверку исходных карт JS.

Внизу сгенерированного файла app.js я вижу:

//# sourceMappingURL=app.js.map

И этот файл существует.

Я не вижу загружаемых исходных карт на панели сети, и когда я открываю файл .ts на панели источников, я вижу только пустой файл.

Любые идеи? Спасибо!


person Eric    schedule 23.07.2015    source источник
comment
Попробуйте удалить файлы .js и .js.map, повторно сгенерировать код javascript и попробуйте запустить снова. Иногда файлы карты повреждаются.   -  person Krishna Teja Veeramachaneni    schedule 25.07.2015


Ответы (6)


Поместите это в свой web.config для обслуживания файлов TS:

<configuration>
    ...
    <system.webServer>
        <staticContent>
            <mimeMap fileExtension=".ts" mimeType="application/x-typescript" />
        </staticContent>
    </system.webServer>
</configuration>
person Cordle    schedule 30.07.2015

Ответ Кордла сработал для меня, но мне также нужно было удалить существующую карту MIME для .ts.

    ...
    <system.webServer>
        <staticContent>
            <remove fileExtension=".ts" />
            <mimeMap fileExtension=".ts" mimeType="application/x-typescript" />
        </staticContent>
    </system.webServer>
</configuration>

Карта MIME по умолчанию для файлов .ts была "video / vnd.dlna.mpeg-tts".

person Marcus    schedule 16.12.2015
comment
это было прекрасно. спасибо за подробности о сопоставлении ts по умолчанию - person celerno; 21.12.2015

Я понял, что происходит. Мне нужно было добавить MIME-карту для расширения .ts либо в IIS, либо в моем web.config. Итак, браузер запрашивал файл TypeScript, но ничего не получал, поэтому он оказался пустым.

person Eric    schedule 28.07.2015
comment
Это объясняло, почему у меня это сработало в Chrome из коробки, в то время как другому разработчику пришлось добавить mimeMap в наш файл web.config. У меня уже была запись типа mime .ts в IIS, но у другого разработчика ее не было. - person user2444499; 17.05.2017

У меня была аналогичная проблема, я наконец понял, что я указал SourceUrl

//# sourceURL=CommonLib.js

в нижней части моего скрипта Ts, из-за чего папка с картой и файлом Ts была другой.

person Daryl    schedule 12.04.2016

Добавьте MIME в web.config: ИЛИ IIS.

person Vadim T    schedule 30.09.2017

Если он работает на localhost, но после публикации в любой среде отображается пустой, это, вероятно, связано с тем, что .ts-файлы не включены.

Чтобы включить .ts-файлы в Debug публикацию, добавьте их в конец сети .csproj, где находятся другие <Target Name. Если у вас нет .ts-файлов при каждой публикации, удалите Condition="'$(Configuration)'=='Debug'".

<Target Name="AddTsToContent" AfterTargets="CompileTypeScript" Condition="'$(BuildingProject)' != 'false'">
   <ItemGroup>
      <Content Include="@(TypeScriptCompile)" Condition="'$(Configuration)'=='Debug'"/>
   </ItemGroup>
</Target>

Источник: Как включить файлы TypeScript при публикации?

person Ogglas    schedule 01.02.2019