WebページをVagrantを使ってローカル環境で確認している時に「Uncaught SyntaxError: Unexpected token ILLEGAL」というエラーがconsoleで表示され、javacriptが動かなくなることがあります。
この時のjavascriptをChrome Developer Toolsで見たときに、末尾になぞの空白(Unicode U+200B??)が存在しているのであれば、javascriptのキャッシュを疑ってみてください。
##原因
Vagrantの「config.vm.synced_folder」を使って、javascriptのあるフォルダを共有フォルダに指定していると、ApacheがNFSとして認識してしまうために、Apacheがjavascriptをキャッシュしてしまうことに起因します。
##解決方法
httpd.confを修正するか、recipeで修正済みのhttpd.confを用意します。
今回は直接Vagrantにsshで接続し、httpd.confを修正しちゃいます。
1.Vagrantにsshで接続する
vagrant ssh
2.Apacheの設定ファイルであるhttpd.confをviで開く
sudo vi /etc/httpd/conf/httpd.conf
3.httpd.confのEnableMMAP
とEnableSendfile
の設定がコメントアウトされているので、これをOFFに設定しなおせばOK
#EnableMMAP off
#↓↓↓
#コメントアウトをはずす
EnableMMAP off
#EnableSendfile off
#↓↓↓
#こっちも
EnableSendfile off