Как интегрировать TypeScript, SASS и конкатенацию в мой проект Play?

Вот что у меня есть:

  • клиентская логика приложения написана на TypeScript
  • мои таблицы SASS
  • различные сторонние компоненты со своими простыми JS и CSS

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

.
├── app
│   ├── assets
│   │   └── js
│   │       ├── build.ts
│   │       ├── components
│   │       │   └── test.ts
│   │       ├── messaging.ts
│   │       ├── main.ts
│   │       └── vue.d.ts
└── public
    ├── css
    │   └── *.css
    ├── dashboard
    │   ├── assets
    │   │   └── <some component>
    │   │       ├── *.css
    │   │       └── *.min.js
    ├── fonts
    │   └── *.{otf,svg,ttf,woff,woff2}
    ├── images
    │   └── *.{jpg.png}
    └── js
        └── *.min.js

я имею sbt-typescript а также sbt-rjs установлен, и это в конце стандарта build.sbt:

JsEngineKeys.engineType := JsEngineKeys.EngineType.Node

TypescriptKeys.moduleKind in TypescriptKeys.typescript := "amd"

pipelineStages := Seq(rjs)

//RjsKeys.appDir := file(".")
RjsKeys.mainConfig := "build"
RjsKeys.mainModule := "main"

Тот build.ts выглядит так:

({
    baseUrl: ".",
    paths: {
    },
    name: "main",
    out: "main-built.js"
})

И в моем HTML у меня есть:

<script data-main="@routes.Assets.versioned("js/main.js")" type="text/javascript" src="@routes.Assets.versioned("lib/requirejs/require.js")"></script>

Все это довольно тесно связано (я никогда раньше не использовал TypeScript или RequireJS), но, похоже, это работает для моих битов TypeScript как в dev, так и в промышленной сборке. (Я еще не добавил SASS.)

Если это пока правильный подход, как правильно включить все остальное, чтобы оно все еще работало в разработке и производстве? Я пишу другой профиль сборки для RequireJS, или я должен просто использовать sbt-concat?

0 ответов

Другие вопросы по тегам