activator dist:不包括托管资源(仅包括它们的处理结果)
activator dist: Not include managed resources (only their processed result)
如何避免从 activator dist
的 zip 输出中包含托管资源,例如 sass 文件?
我从项目的目标目录中手动删除了它们,这样我的项目现在在目标目录中就没有 scss 文件的踪迹了。但这仍然包括 zip 中资产 jar 中的所有 scss 文件。
有什么办法可以避免这种情况吗?
看看Sbt-filter。它是一个插件,用于过滤哪些文件包含在您的 dist 中,哪些不包含。您可以将过滤器添加到 build.sbt
。
您必须通过将过滤器插件添加到管道阶段来启用过滤器插件:
lazy val root = (project in file(".")).enablePlugins(SbtWeb)
pipelineStages := Seq(filter)
并进一步包含 css 并排除 scss 添加以下行:
注意:包含 CSS 文件不是必需的,只是作为如何包含某些文件的示例。
includeFilter in filter := "*.css"
excludeFilter in filter := "*.scss"
将以下代码放在 build.sbt 中是排除目录的一种方法:
includeFilter in filter := new FileFilter {
def accept(pathname: File): Boolean = {
pathname.getAbsolutePath.contains("public/uploads/")
}
}
pipelineStages := Seq(filter, digest, gzip)
更多解释
字符串隐式转换为 GlobFilter。 GlobFilter 可以变成 AllPassFilter、ExactFilter 和 PatternFilter。
这3个过滤器继承自NameFilter。并且 NameFilter 仅根据名称(而不是整个绝对路径)过滤 files/directories。
所以,在某种程度上,如果你想删除目录 "uploads",你可以:
includeFilter in filter := "uploads"
我不喜欢这个解决方案,我觉得它有问题,因为可能有多个名为 "uploads" 的文件夹。这就是我选择实现自己的 FileFilter 的原因。
如何避免从 activator dist
的 zip 输出中包含托管资源,例如 sass 文件?
我从项目的目标目录中手动删除了它们,这样我的项目现在在目标目录中就没有 scss 文件的踪迹了。但这仍然包括 zip 中资产 jar 中的所有 scss 文件。
有什么办法可以避免这种情况吗?
看看Sbt-filter。它是一个插件,用于过滤哪些文件包含在您的 dist 中,哪些不包含。您可以将过滤器添加到 build.sbt
。
您必须通过将过滤器插件添加到管道阶段来启用过滤器插件:
lazy val root = (project in file(".")).enablePlugins(SbtWeb)
pipelineStages := Seq(filter)
并进一步包含 css 并排除 scss 添加以下行: 注意:包含 CSS 文件不是必需的,只是作为如何包含某些文件的示例。
includeFilter in filter := "*.css"
excludeFilter in filter := "*.scss"
将以下代码放在 build.sbt 中是排除目录的一种方法:
includeFilter in filter := new FileFilter {
def accept(pathname: File): Boolean = {
pathname.getAbsolutePath.contains("public/uploads/")
}
}
pipelineStages := Seq(filter, digest, gzip)
更多解释
字符串隐式转换为 GlobFilter。 GlobFilter 可以变成 AllPassFilter、ExactFilter 和 PatternFilter。
这3个过滤器继承自NameFilter。并且 NameFilter 仅根据名称(而不是整个绝对路径)过滤 files/directories。
所以,在某种程度上,如果你想删除目录 "uploads",你可以:
includeFilter in filter := "uploads"
我不喜欢这个解决方案,我觉得它有问题,因为可能有多个名为 "uploads" 的文件夹。这就是我选择实现自己的 FileFilter 的原因。