这是我所拥有的:
- 用 TypeScript 编写的客户端应用程序逻辑
- 我的 SASS 样式表
- 各种具有自己纯 JS 和 CSS 的第三方组件
我希望将所有内容构建到一个 JS 文件和一个 CSS 文件中。我需要能够指定包含我的 TS 文件中的 JS 的顺序。我的目录结构是标准的 玩这些:
.
├── 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 位。(我还没有添加 SASS。)
如果到目前为止这是正确的方法,那么合并其他所有内容以使其在开发和生产中仍然有效的正确方法是什么?我应该为 RequireJS 编写另一个构建配置文件,还是应该只使用sbt-concat
?