LoginSignup
60

More than 5 years have passed since last update.

Vagrant上のjavascriptで「Uncaught SyntaxError: Unexpected token ILLEGAL」

Posted at

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のEnableMMAPEnableSendfileの設定がコメントアウトされているので、これをOFFに設定しなおせばOK

httpd.conf
#EnableMMAP off
#↓↓↓
#コメントアウトをはずす
EnableMMAP off

#EnableSendfile off
#↓↓↓
#こっちも
EnableSendfile off

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
60