Trying to switch from rails server
to Apache and Passenger. I got an asset-not-found error in the logs, and found out I needed to do rake assets:precompile
. When I do so (after cleaning), I get the below message. What are the differences between precompiling and rails server
that could create such an error in the former?
$ rake assets:precompile --trace
** Invoke assets:precompile (first_time)
** Execute assets:precompile
rake aborted!
Unexpected token: operator (>) (line: 9398, col: 3, pos: 252073)
TypeError: object is not a function
at Object.CALL_NON_FUNCTION (native)
at new JS_Parse_Error (/tmp/execjs20110913-10691-16kuf4b.js:463:20)
at js_error (/tmp/execjs20110913-10691-16kuf4b.js:474:15)
at croak (/tmp/execjs20110913-10691-16kuf4b.js:926:49)
at token_error (/tmp/execjs20110913-10691-16kuf4b.js:930:45)
at unexpected (/tmp/execjs20110913-10691-16kuf4b.js:936:84)
at /tmp/execjs20110913-10691-16kuf4b.js:1304:17
at maybe_unar开发者_StackOverflow社区y (/tmp/execjs20110913-10691-16kuf4b.js:1389:27)
at expr_op (/tmp/execjs20110913-10691-16kuf4b.js:1409:45)
at expr_ops (/tmp/execjs20110913-10691-16kuf4b.js:1416:24)
(in /home/user/locator/app/assets/javascripts/application.js)
Tasks: TOP => assets:precompile
With rails server the js file will simply be served by webrick.
With assets:precompile it is concatenated and compressed. For this to work it needs to be parsed and it has an error in it. The same error is not as bad in development mode because it simply means that JS loading is stopped at that point. If you are in asset debug mode it even affects the specific file only.
I would look in the compiled application JS at line 9398 and look if there is a syntax error and if there is go find it in the source file.
精彩评论