gpt4 book ai didi

javascript - rails Assets 管道 javascript "SyntaxError: Unexpected token export"

转载 作者:行者123 更新时间:2023-11-30 06:15:58 27 4
gpt4 key购买 nike

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

https://github.com/topojson/topojson

它允许我们像这样在谷歌地图中显示一些不错的 geoJSON:

dev machine in production mode - all good

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

maps-....js:27 Uncaught SyntaxError: Unexpected token export

和 firefox 上的类似错误(尽管在不同的行上):

SyntaxError: export declarations may only appear at top level of a module maps-...js:1

syntax error involving export when same system is deployed on heroku

我一直在与 heroku 支持人员联系,他们建议锁定我们的 npm 版本,因为看起来缩小后的 js 文件在本地与 heroku 上的内容略有不同。我注意到我已经尽我所能在本地复制生产模式,破坏和重新编译静态 Assets 等,然后像这样运行:

RAILS_SERVE_STATIC_FILES=true DEVISE_SECRET_KEY=1234 AIRBRAKE_PROJECT_ID=1234 RAILS_ENV=production bundle exec rails s

但尽我所能,我无法在我的开发机器上重现该问题。

您可以在这个 PR https://github.com/AgileVentures/LocalSupport/pull/1069 中看到所有血淋淋的细节我想知道是否有人对我的开发机器和 heroku 之间可能导致 javascript 文件编译不同的其他任何差异有任何想法?在 heroku 上,我们有以下内容:

export*from"topojson-client";export*from"topojson-server";export*from"topojson-simplify

但在本地编译的静态 Assets 中没有提到有问题的 export 关键字,但它们存在于 heroku 服务器上的文件中。我一直在尝试各种方法来确保我正在删除缓存文件,并确保我所做的更改同时反射(reflect)在本地和 heroku 上。

我也一直在研究尝试处理导出关键字(es6 中的新关键字)的方法,但这似乎是一个更深的兔子洞,即 sprockets 4 或 webpack 或类似的东西。

无论如何,如果有人对可能导致 heroku 在这里以不同方式运行的其他事情有任何想法,我很乐意听取他们的意见,因此我可以锁定他们或找出如何在本地复制错误。

提前致谢

最佳答案

Heroku 支持人员说这里的问题是将 npm 与 Assets 管道一起使用,更好的方法是使用 webpacker

关于javascript - rails Assets 管道 javascript "SyntaxError: Unexpected token export",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56148334/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com