【问题标题】:Rails 4 with some modules of plotly.js带有一些 plotly.js 模块的 Rails 4
【发布时间】:2016-03-10 08:00:07
【问题描述】:

我在 Rails 4 中使用 plotly.js。现在我只有 lib 文件 /vendor/assets/javascripts/plotly.js 并在 application.js (//= require plotly) 中需要它。 Ploly.js 大约 1 mb,所以我想减小大小。在github页面上有一个instruction如何做到这一点:

// in custom-plotly.js
var plotlyCore = require('plotly.js/lib/core');

// Load in the trace types for pie, and choropleth
plotlyCore.register([
    require('plotly.js/lib/pie'),
    require('plotly.js/lib/choropleth')
]);

module.exports = plotlyCore;

// Then elsewhere in your code:

var Plotly = require('./path/to/custom-plotly');

我不知道应该把这段代码放在哪里,只为 lib 的一些模块提供服务,而不是为整个 lib 提供服务。

如果无法使用内置功能,您会建议如何解决问题?

【问题讨论】:

    标签: ruby-on-rails plotly


    【解决方案1】:

    这是npm 模块和Modularizing monolithic JS projects 的说明。 Rails 中没有 nodejs 解释器。

    Rails 可以将此js 文件的大小减小minify

    【讨论】:

    • 唯一的方法是将这些模块以某种方式置于 Rails 之外,然后包含它们而不是整个库,这对吗?缩小不是一个选项,因为缩小后它仍然很大并且缩小需要很长时间。
    • @Evmorov 缩小只运行一次,当 Rails 预编译 production 资产时。是的,只有一种方法是使用 node 和 npm 来构建资产。
    • @Evmorov 您可以使用rails-assets.org 轻松地将情节集成到rails 项目中。
    • @Зеленый,谢谢。虽然它可以工作,但它仍然不是解决方案,因为缩小的库仍然很大,即使 Rails 只编译一次它也应该在每次更新 js 库时编译它
    • @Evmorov 这就是 Rails 很烂的原因,现代应用程序使用了大量的 js 库,Rails 无法轻松处理它。快乐的编码,兄弟。
    猜你喜欢
    • 1970-01-01
    • 2012-03-27
    • 1970-01-01
    • 2020-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多