未捕获的SyntaxError:Browserify编译的文件中的无效或意外令牌

时间:2016-06-10 07:58:30

标签: laravel browserify laravel-elixir

我的项目基于Laravel并使用Laravel Elixir来编译和缩小客户端代码(用ECMAScript 6编写)。

我注意到如果我对客户端代码进行了任何更改,然后使用gulp再次编译所有内容并重新加载页面我在Chrome中收到以下错误:

  

未捕获的SyntaxError:无效或意外的令牌

     

无法解析SourceMap:http://192.168.99.100/js/app.js.map

如果我检查app.js我可以看到为什么我遇到这个问题:

enter image description here

每个红点都是字符\u0

之后我在IDE中检查了同一个文件,并且最后没有这样的字符。

如果我还原我的更改然后再次使用gulp重新编译,一切都会重新开始。

我的gulpfile.js

var elixir = require('laravel-elixir');
require('laravel-elixir-vueify');

// Enable full sourcemaps with browserify. Disable in production.
elixir.config.js.browserify.options.debug = true;

// Disable notifications
process.env.DISABLE_NOTIFIER = true;

elixir(function(mix)
{
    // Compile SASS
    mix.sass('app.scss');

    mix.browserify('app.js');

    mix.browserSync({
        notify : false,
        open: false,        
        proxy : '192.168.99.100',
        reloadDelay: 2000
    });
});

不确定是否重要,但应用程序在由Mac OS X托管的共享文件夹内的多个docker容器中运行。

1 个答案:

答案 0 :(得分:10)

原来这个问题是由Nginx配置错误引起的。通过查看this discussion,我得到了一个非常有用的提示。

我需要在我的情况下通过更改 default.conf 来禁用在Nginx中使用sendfile:

location / {

    # Try to serve the request as a file first, but if it cannot be found
    # try to serve the default index file for a directory that matches the
    # request.
    try_files $uri $uri/ /index.php?$query_string;
    index     index.php index.html index.htm;
    sendfile  off;
}