Я наконец-то заставил это работать, проблема в том, что (как упоминалось в @ caffeinated.tech) конфигурация довольно сложна.
Необходимые шаги, чтобы заставить его работать где:
Добавьте coffeescript версии 2 к зависимостям (по умолчанию webpacker устанавливает версию 1).
Убедитесь, что загрузчик coffeescript добавлен к загрузчику (это добавлено по умолчанию ):
// config/webpack/environment.js
const coffee = require('./loaders/coffee')
// instead of environment.loaders.prepend('coffee', coffee)
environment.loaders.append('coffee', coffee)
/// ...
// config/webpack/loaders/coffee.js
module.exports = {
test: /\.coffee(\.erb)?$/,
use: [{
loader: 'coffee-loader',
options: {
transpile: {} // it seems that transpile options can be used here,
// but I couldn't find what to use
}
}]
}
Обновление
Вместо настройки кофе для транспиляции (как упоминалось ранее) в этой проблеме он рекомендует настроить загрузчик babel, чтобы он не игнорировал файлы кофе (он не обрабатывает файлы кофе в конфигурации по умолчанию )
// config/webpack/environment.js
// Make babel process coffee files
environment.loaders.get('babel').test = /\.(js|jsx|mjs|ts|tsx|coffee)?(\.erb)?$/
После этого все работает.