我的应用在本地环境中运行良好。我试图private List<TemplateFile> readTemplateFiles(String nextTemplateDir, String rootTemplateDir) throws FileNotFoundException {
return Files.walk(Paths.get(nextTemplateDir))
.filter(path -> !path.getFileName().startsWith("."))
.map(path -> TemplateFile.create(path.toFile(), rootTemplateDir))
.collect(Collectors.toList());
}
构建到heroku。我的命令是:
git push
然后我遇到资产问题:预编译
bundle install
git add .
git commit -am "abcdef"
git push heroku master
请注意,我编译了特定于控制器的资产(参见下文)。我想知道这是否会导致这个问题。
视图/布局/ application.html.erb
remote: -----> Preparing app for Rails asset pipeline
remote: Running: rake assets:precompile
remote: I, [2016-01-04T08:32:35.471098 #1018] INFO -- : Writing /tmp/build_5d68c6d2f7845ca719a5f77705a12798/public/assets/recruiters-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.js
remote: I, [2016-01-04T08:32:35.471825 #1018] INFO -- : Writing /tmp/build_5d68c6d2f7845ca719a5f77705a12798/public/assets/recruiters-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.js.gz
remote: I, [2016-01-04T08:32:35.477826 #1018] INFO -- : Writing /tmp/build_5d68c6d2f7845ca719a5f77705a12798/public/assets/recruiters-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.css
remote: I, [2016-01-04T08:32:35.477974 #1018] INFO -- : Writing /tmp/build_5d68c6d2f7845ca719a5f77705a12798/public/assets/recruiters-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.css.gz
remote: I, [2016-01-04T08:32:35.575303 #1018] INFO -- : Writing /tmp/build_5d68c6d2f7845ca719a5f77705a12798/public/assets/events-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.js
remote: I, [2016-01-04T08:32:35.575465 #1018] INFO -- : Writing /tmp/build_5d68c6d2f7845ca719a5f77705a12798/public/assets/events-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.js.gz
remote: I, [2016-01-04T08:32:35.623887 #1018] INFO -- : Writing /tmp/build_5d68c6d2f7845ca719a5f77705a12798/public/assets/events-31e95c603f03e300e73e01cd6ee747799da57b4d12924aa979e0fa0749681cca.css
remote: I, [2016-01-04T08:32:35.624406 #1018] INFO -- : Writing /tmp/build_5d68c6d2f7845ca719a5f77705a12798/public/assets/events-31e95c603f03e300e73e01cd6ee747799da57b4d12924aa979e0fa0749681cca.css.gz
remote: rake aborted!
remote: ExecJS::ProgramError: Unexpected token: name (option) (line: 242, col: 14, pos: 7159)
remote: Error
remote: at new JS_Parse_Error (/tmp/execjs20160104-1018-1ens1gjjs:2659:11936)
remote: at js_error (/tmp/execjs20160104-1018-1ens1gjjs:2659:12155)
remote: at croak (/tmp/execjs20160104-1018-1ens1gjjs:2659:20622)
remote: at token_error (/tmp/execjs20160104-1018-1ens1gjjs:2659:20759)
remote: at unexpected (/tmp/execjs20160104-1018-1ens1gjjs:2659:20847)
remote: at semicolon (/tmp/execjs20160104-1018-1ens1gjjs:2659:21320)
remote: at simple_statement (/tmp/execjs20160104-1018-1ens1gjjs:2659:24179)
remote: at /tmp/execjs20160104-1018-1ens1gjjs:2659:22152
remote: at /tmp/execjs20160104-1018-1ens1gjjs:2659:21493
remote: at block_ (/tmp/execjs20160104-1018-1ens1gjjs:2659:26198)new JS_Parse_Error ((execjs):2659:11936)
remote: js_error ((execjs):2659:12155)
remote: croak ((execjs):2659:20622)
remote: token_error ((execjs):2659:20759)
remote: unexpected ((execjs):2659:20847)
remote: semicolon ((execjs):2659:21320)
remote: simple_statement ((execjs):2659:24179)
remote: (execjs):2659:22152
remote: (execjs):2659:21493
remote: block_ ((execjs):2659:26198)
初始化/ assets.rb
<%= stylesheet_link_tag "application", params[:controller], :media => "all", 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', params[:controller], 'data-turbolinks-track' => true %>
有任何想法或建议吗?
更新 我能够找到问题的来源。虽然我不确定什么是错的,为什么它在当地运作良好。
# Compile controller assets
%w( recruiters events forms candidates ).each do |controller|
Rails.application.config.assets.precompile += ["#{controller}.js", "#{controller}.css"]
end
答案 0 :(得分:15)
通过更新js语法,我能够解决问题并且资产预编译成功。
<强>原始强>
let option = {};
<强>更新强>
var option = {};
答案 1 :(得分:-1)
就我而言,资产编译在生产中是成功的,但是在暂存时会出现上述错误。因此,我在生产和登台时检查了nodejs版本。在生产阶段是v12.10.0,在登台阶段是v10.XX.XX。因此,我在登台时将nodejs版本更新为v12.10.0,现在可以正常使用了。