如何将基于RactiveJS的库构建到一个JS文件中?

时间:2016-04-15 13:19:04

标签: ractivejs almond

(相关问题:rv.jsr.js之间有什么区别?)

我有一系列基于RactiveJS的组件,每个组件都在自己的模块中。我使用Ractive站点上提到的rv.js加载器(上面链接)。我喜欢它,但我想要做的是使用它(或类似的东西)构建一个即使在非AMD / RequireJS应用程序中也能工作的JS文件。我看过Almond,但似乎想要使用r.js(而不是rv.js),我不确定区别是什么或者我需要做些什么改变。

奖励积分:有没有办法在Gulp中运行所有这些?我是那些在使用命令行时畏缩的人之一,所以请慢慢说,原谅我的无知:)

1 个答案:

答案 0 :(得分:0)

回答有点迟,为此道歉。

  • rv.js是一个RequireJS插件,可以加载ractive组件,就像它们是javascript模块一样
  • r.js是RequireJS优化器,用于将所有文件捆绑在一起并缩小(完全是您的用例)

RequireJS的大小非常大,并且您不希望它在构建期间与您的应用程序js捆绑在一起。

输入almond.js。它模仿RequireJS的模块分辨率,但没有代码来处理网络上文件的实际加载。结果是文件较小。

因此,您的工作流程将是:

  • 您在开发期间使用RequireJS
  • 使用rv.js来加载ractive组件
  • 在构建时,您可以使用r.js构建
  • 确保almond.js替换最终构建的js文件中的RequireJS

现在,我使用grunt,并且有一个插件:grunt-contrib-requirejs

对于gulp,我建议gulp-requirejs-optimize
如果您查看该页面上的文档,它可以在构建过程中使用杏仁替换requirejs。

希望有所帮助。