管理Web组件的依赖关系; JS,CSS/SASS和模板文件

Ed *_*d . 9 javascript maven web-component requirejs

我正在寻找布局我们的新网络组件的结构,我目前还不确定我是否找到了一个工具,它可以完成我们理想的所有工作,或者非常接近,但看起来它是公平的现在常想做的事情.

我们有一个运行Java服务器端的Web应用程序,而客户端我们大量使用JavaScript和SASS等.我们希望重新构建我们的一些代码库,并组合我们的动态页面内容的某些方面.

例如,我们希望有一个标准的表组件,可以完全独立于完整的Web应用程序开发.我看到表组件有以下3个核心文件:

  • table.js
  • table.scss(我们编译成CSS文件的SASS文件)
  • table.tmpl(我们最终编译成JS函数的模板文件,例如使用Handlebars作为模板引擎)

然后帮助发展:

  • table-test.html(包含一些虚拟数据的测试页)
  • table-qunit.js(Qunit测试)

然后希望将所有这些文件编译成以下内容:

  • components.js - table.js和table.tmpl编译和缩小,然后用所有其他组件拉入一些更大的JS文件
  • components.css - table.scss已编译和压缩,并与所有其他组件CSS合并

我看过的工具:

  • requireJS - 似乎非常关注JS依赖管理,对资源文件有一些想法,但找不到任何关于它的使用和像SASS这样的CSS预处理器.我确实喜欢AMD JS依赖管理的想法.
  • Grunt - 一个节点包,可以完成我们想要的一些工作
  • 链接 - Ruby实现类似于我们想要的东西
  • Javascript Maven插件 - 最接近语言/库(我们已经使用Java和Maven)但是,似乎只考虑JavaScript依赖管理而不是CSS,或者至少是SASS资源文件.

有没有人比上面的建议有更好的建议?什么东西更接近我们正在寻找的东西?理想情况下,不需要Node.js或Ruby的东西会更好......

小智 6

这的确听起来像一个非常适合组件由TJ Holowaychuk.


Ed *_*d . 1

我想我已经找到了答案,这一切都归功于这篇 ST 文章:Maven Javascript Compressor

我的烦恼的答案似乎是wro4j

它对我来说有以下好处(有关所有内容,请参阅功能页面):

  • Maven化
  • 基于Java
  • 弹簧可配置
  • 支持SASS文件 Dust模板(我们现在选择了,我认为这是一个相对不为人知的模板引擎)
  • 在构建时或运行时使用的选项!
  • 和更多...