Я пытался переместить мои файлы JS с app/assets/javascripts
на app/javascript
. В основном переходит от Asset Pipeline к Webpack.
Я получаю несколько ошибок в процессе.
1. Единственное, что я сделал, это переместил файл и удалил оператор прекомпиляции из config/initializers/assets.rb
Вот что я получаю:
DEPRECATION WARNING: The asset "disallow-char.js" is not present in the asset pipeline.Falling back to an asset that may be in the public folder.
This behavior is deprecated and will be removed.
To bypass the asset pipeline and preserve this behavior,
use the `skip_pipeline: true` option.
2. Затем я добавил в файл html.haml
следующее:
```= javascript_include_tag 'disallow-char.js', skip_pipeline: true```
Вот что я получаю:
Started GET "/javascripts/disallow-char.js" for ::1 at 2018-04-26 15:11:18 -0500
Processing by ErrorsController#routing as JS
Parameters: {"any_bad_route"=>"javascripts/disallow-char"}
::1 - - [26/Apr/2018:15:11:18 CDT] "GET /packs/application-26fc747cc9104717d89e.js HTTP/1.1" 304 0
И в браузере я получаю эту ошибку:
GET http://localhost:3000/javascripts/disallow-char.js net::ERR_ABORTED
Расположение файла app/javascripts/frontend/disallow-char.js
Мой app/javascript/packs/application.js
выглядит следующим образом:
/* eslint no-console:0 */
// This file is automatically compiled by Webpack, along with any other files
// present in this directory. You're encouraged to place your actual application logic in
// a relevant structure within app/javascript and only use these pack files to reference
// that code so it'll be compiled.
//
// To reference this file, add <%= javascript_pack_tag 'application' %> to the appropriate
// layout file, like app/views/layouts/application.html.erb
const frontend = require.context('../frontend', true, /\.js$/);
application.load(definitionsFromContext(frontend));
export default application;
Кто-нибудь видел там ошибку раньше? Что-то, чего мне не хватает?