在heroku的资产编译栏中使用Node

有没有人知道在Heroku上使用https://github.com/dockyard/es6_module_transpiler-rails的旧节点版本是否已经解决。

https://gist.github.com/bcardarella/7384208

复制要点:

我一直与Tilde的Peter Wagenet一起在一个Rails应用程序上使用Heroku的Ember Appkit的支持。 首先是一些背景:

Ember Appkit将运行ES6模块作为AMD使用。 为此,我编写了使用Node和Square的es6-module-transpiler软件包的es6_module_transpiler-rails gem。 该软件包使用Esprima进行分析。 旧版JavaScript运行时中保留关键字的问题未被正确引用: https : //code.google.com/p/esprima/issues/detail?id = 469

在我们的本地机器上,一切正常,并且由于我们的Node版本是最近的,所以transpiling不会被popup。 但是,当我们部署到Heroku并且Rails试图预编译它的资产时,Heroku使用的Node版本已经过期。 根据一些研究,默认情况下,Heroku使用的是从2011年4月开始的Node v0.4.7。很容易强制Heroku使用Node的更新版本: https : //devcenter.heroku.com/articles / nodejs-support#版本,但目前还不清楚这是否会与Rails应用程序并行运行以进行预编译。 此外,我不认为要求Rails开发人员在应用程序中包含Heroku的Nodeconfiguration代码是合理的。

我恭敬地要求Node for Rails资产编译的默认版本会碰到一个更新的版本。

我们通过使用multi buildpack和在应用程序中定义package.json来支持通过节点进行集成。 这是公关https://github.com/heroku/heroku-buildpack-ruby/pull/245

确保nodejs首先在.buildpacks文件中,然后你可以得到你想要的任何版本的节点。