ruby-on-rails - 打包 html 模板、javascript 和 css 以供多个平台使用

标签 ruby-on-rails express go distributed

我有一个大型 Rails 应用程序,我想拆分成更小的应用程序。此应用程序中对所有较小应用程序通用的一个部分是桅杆和页脚。我想将桅杆和页脚的 html、javascript 和 css 提取到它自己的包中,每个应用程序都可以加载和呈现。

我遇到的主要问题是应用程序可能不会全部用 Rails 编写。有些是 Rails,有些是 expressjs,有些是用 Go 编写的,有些可能最终是用其他语言编写的,所以我的解决方案需要与语言无关。

我的想法是,我可以将 html、css 和 javascript 提取到它自己的 git 存储库中,为 html 使用 mustache 模板,然后使用 grunt 或类似的构建工具来构建 gem、package.json 结构和戈兰模块。可能每个都在它自己的 git 子模块中。

我很好奇是否有更标准化的方法来执行此操作。或者,如果有人知道实现此目标的更简单方法。

最佳答案

听起来共同的技术是 HTML/JS/CSS。

将桅杆和页脚导出为独立的 JS 库,或者更准确地说,导出为小部件,不是更好吗?

因此,无论应用服务器技术堆栈是什么,您始终可以生成以下形式的 HTML:

<script src="your_widgets.js"></script>
<script>new Footer.render('id_of_dom_element_to_render_to');</script>

这样一来,无论您是希望小部件库加载模板,还是希望将模板嵌入到小部件库中,或者您是否只想简单地使用 HTMLFragment 构建它,都不会受到服务器技术选择的限制。

关于ruby-on-rails - 打包 html 模板、javascript 和 css 以供多个平台使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29910745/

相关文章:

ruby-on-rails - 具有多个关联的 RSpec/FactoryGirl 中的 "Name has already been taken"

ruby-on-rails - simple_form select-field 验证后变成 input-field

javascript - Express 和 Typescript - Error.stack 和 Error.status 属性不存在

arrays - 遍历 Go 中的任意可迭代数据结构

mongodb - 如何使用golang在mongodb中插入用户信息?

javascript - 基础和均衡器用户体验不佳

ruby-on-rails - Rspec 测试 : NotificationMailer. user_notification(self) 返回 nil

javascript - Express:将参数分配给 app.use() 的不同方法

sql - 使用 Node.js 和 sqlite3 添加具有多列的行

go - 函数中的秒操作