Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
rails资产管道javascript“;SyntaxError:意外的令牌导出“;_Javascript_Ruby On Rails_Node.js_Heroku - Fatal编程技术网

rails资产管道javascript“;SyntaxError:意外的令牌导出“;

rails资产管道javascript“;SyntaxError:意外的令牌导出“;,javascript,ruby-on-rails,node.js,heroku,Javascript,Ruby On Rails,Node.js,Heroku,我在本地的Rails应用程序中使用了可爱的topojson库: 它允许我们在谷歌地图中显示一些漂亮的geoJSON,如下所示: 我用map.js文件展示了它,因为这似乎是我们部署到heroku时的问题所在。在heroku上,map.js文件在chrome上给出了一个错误: 映射-…js:27未捕获的语法错误:意外的令牌导出 firefox上也出现了类似的错误(尽管在另一行): SyntaxError:导出声明只能出现在模块映射的顶层-…js:1 我已经联系过heroku的支持人员,他们建议

我在本地的Rails应用程序中使用了可爱的topojson库:

它允许我们在谷歌地图中显示一些漂亮的geoJSON,如下所示:

我用map.js文件展示了它,因为这似乎是我们部署到heroku时的问题所在。在heroku上,map.js文件在chrome上给出了一个错误:

映射-…js:27未捕获的语法错误:意外的令牌导出

firefox上也出现了类似的错误(尽管在另一行):

SyntaxError:导出声明只能出现在模块映射的顶层-…js:1

我已经联系过heroku的支持人员,他们建议锁定我们的npm版本,因为缩小的js文件最终在本地的内容似乎与heroku略有不同。我注意到我已经尽我所能在本地复制了生产模式,对静态资产进行了压缩和重新编译,并像这样运行:

RAILS_SERVE_STATIC_FILES=true DEVISE_SECRET_KEY=1234 AIRBRAKE_PROJECT_ID=1234 RAILS_ENV=production bundle exec rails s
但是我不能在我的开发机器上复制这个问题

你可以在这篇PR中看到所有血淋淋的细节,我想知道是否有人对我的开发机器和heroku之间可能导致javascript文件编译方式不同的其他方面有任何想法?关于heroku,我们有以下内容:

export*from"topojson-client";export*from"topojson-server";export*from"topojson-simplify
但是在本地编译的静态资产中没有提到有问题的
export
关键字,但是它们在heroku服务器上的文件中。我一直在尝试各种方法,以确保删除缓存文件,并确保所做的更改在本地和heroku上都得到反映

我也一直在研究如何尝试处理export关键字(es6中新增的),但这似乎是一个更深的兔子洞,即Sprocket 4或webpack或类似的东西

无论如何,如果有人对其他可能导致heroku在这里以不同方式运行的事情有任何想法,我很乐意听到他们的想法,这样我就可以锁定他们,或者研究如何在本地复制bug


事先非常感谢Heroku的支持人员说,这里的问题是在资产管道中使用npm,更好的方法是使用webpacker,Heroku非常建议在本地尝试NODE_ENV=production,看看是否可以在我的开发机器上复制该问题,但这似乎没有产生任何影响。。。