Проблема ExecJS при компиляции ресурсов Rails 3.1 - PullRequest
4 голосов
/ 22 июля 2011

Мое приложение Rails 3.1.rc4 работало нормально, но я пытаюсь найти подходящий способ хранения моих js-файлов в конвейере.Если я помещаю какой-либо код в файл, отличный от application.js, я получаю следующую ошибку:

Запущен GET "/assets/application.js" для 127.0.0.1 в 2011-07-21 23: 15: 02 -0500 Скомпилировано ~ / Dropbox / Rails / myapp / app / assets / javascripts / application.js.coffee (224ms) (pid 69397) Ошибка компиляции актива application.js: ExecJS :: ProgramError: SyntaxError: Зарезервированное слово "функция "в строке 1 (в /Users/micahalcorn/Dropbox/Rails/myapp/app/assets/javascripts/users/registrations.js.coffee) обслуживаемый ресурс /application.js - 500 Внутренняя ошибка сервера

Это происходит независимо от того, какой файл (в данном случае registrations), и запрашивает «зарезервированное слово» независимо от первого слова в файле (var, function и т. Д.).Я использую node.js в качестве среды выполнения, и все работает нормально, если я удаляю гемы компиляции coffeescript и воспринимаю его как приложение Rails 3.0.Я хочу лучше понять конвейер активов и следовать соглашениям.Спасибо за любые предложения!

1 Ответ

8 голосов
/ 22 июля 2011

Ошибка

SyntaxError: Reserved word "function" on line 1

- ошибка компилятора CoffeeScript. Либо конвертируйте function в -> в registrations.js.coffee, либо переименуйте его в registrations.js, чтобы файл читался как необработанный JavaScript.

...