Help us understand the problem. What is going on with this article?

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

More than 5 years have passed since last update.

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
shibukk
東京で AWS と Rails をちょっとだけやっています。あと GCP も。 https://www.flickr.com/photos/158672816@N06/
https://shibukk.github.io/about/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away