Typescript: compilerOptions.outDir и не-ts модули - PullRequest
1 голос
/ 03 апреля 2019

У меня проблема с не-ts модулями (текстовыми активами), что они не переносятся в outDir, как настроено в tsconfig.json (или я делаю это неправильно).

Вот самый простой случай воспроизведения

// /src/main.ts
import text from 'text.dat'
console.log( text )

// /src/a.d.ts
declare module 'text.dat' {
    const value: string;
    export default value
}

// /tsconfig.json
{
  "compilerOptions": {
    "target": "es5",                      
    "module": "system",                   
...
    "outFile": "./public/bundle.js",      
    "outDir": "./public",                  
...

// /public/a.html
...
    <script type="text/javascript" src="bundle.js"></script>
    <script>
        SystemJS.import('main');
    </script>
...

Это приводит к HTTP 404, когда переданный JavaScript пытается загрузить мой текстовый модуль как http://localhost:8082/text.dat, но исходный файл находится в папке / src и не копируется в /public.

Чего мне не хватает?

FWIW, полный источник дела репро в https://github.com/duzenko/typescript-non-ts-module-bundle

1 Ответ

0 голосов
/ 03 апреля 2019

Это, к сожалению, не поддерживается в компиляторе машинописи Typescript Github Выпуск здесь

Что бы я порекомендовал вам сделать, если вы используете пряжу или NPM, есть скрипткоторый перемещает эти файлы в нужное место после успешной компиляции.Скажем, у вас есть файл в src src/foo/bar.biz.после запуска tsc и вывода в каталог ./build запустите руководство cp src/foo/bar.biz build/foo/bar.biz

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...