【发布时间】:2012-07-16 10:08:53
【问题描述】:
我正在寻找布局我们新 Web 组件的结构,但目前我不确定我是否找到了一个工具可以满足我们理想中的所有需求,或者非常接近,但似乎它会成为当今相当普遍的事情。
我们有一个运行 Java 服务器端的 Web 应用程序,而客户端我们大量使用 JavaScript 和 SASS 等。我们正在寻求重新构建我们的一些代码库,并对我们动态页面内容的某些方面进行组件化。
例如,我们希望有一个标准的表格组件,可以完全独立于完整的网络应用程序进行开发。我看到 table 组件具有以下 3 个核心文件:
- table.js
- table.scss(我们的 SASS 文件,编译成 CSS 文件)
- 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 依赖管理,对资源文件有一些想法,但找不到任何关于它的使用和 CSS 预处理器(如 SASS)的信息。不过,我非常喜欢AMD JS 依赖管理的想法。
- Grunt - 一个节点包,可以做一些我们想做的事情
- Sprockets - Ruby 实现类似于我们想要的东西
- Javascript Maven plugin - 在语言/库方面最接近(我们已经使用 Java 和 Maven),但似乎只考虑 JavaScript 依赖管理而不考虑 CSS,或者至少是 SASS 资源文件。
有没有人有比上述更好的建议?任何与我们正在寻找的东西更接近的东西?理想情况下,不需要 Node.js 或 Ruby 的东西会更好......
【问题讨论】:
标签: javascript maven requirejs web-component