Я не совсем понимаю порядок загрузки активов в веб-пакете.
Я создал такие файлы JavaScript, как этот.
// app/javascript/packs/foo.js
import somelibrary;
function someFunction() {
// ...
}
<!-- app/views/layouts/application.html.erb -->
<%= javascript_pack_tag 'foo' %>
Это прекрасно работает в localhost, но когда я развернул его на Heroku, это вызвало ошибку компиляции, которая сказала, что Could not find somelibrary
(извините, я потерял точное сообщение об ошибке).
И я попробовал это вместо одного, оно работает как на локальном хосте, так и на Heroku.
// app/javascript/components/foo.js
import somelibrary;
function someFunction() {
// ...
}
export { someFunction };
// app/javascript/packs/application.js
import { someFunction } from '../components/foo.js';
someFunction();
<!-- app/views/layouts/application.html.erb -->
<%= javascript_pack_tag 'application' %>