我已经在一个现有的Rails项目中安装了hotwire-rails,在编写任何hotwire相关代码之前,我在浏览器控制台的每个页面上都遇到了以下错误:Uncaught SyntaxError: Cannot use import statement outside a module
输入application.debug-86...95.js:53462
错误引用的行如下:
import { Controller } from "@hotwired/stimulus"
我使用的是带有链轮的Rails6.1.3.1,我以前只在使用webpack的Rails项目中使用过hotwire,所以不确定这是否与它有关。
2条答案
按热度按时间fiei3ece1#
我不确定这是否能解决你的问题,但是我在最近更新的Rails 7应用程序中删除webpack并安装importmap-rails后也遇到了同样的错误。但是它引用的是我的
application.js
imports语句,而不是js控制器。通过将type:"module"
添加到我的一个布局中的javascript_include_tag
中解决了这个问题。最终解决方案:或者,如果您已经通过
javascript_importmap_tags
导入了所有内容,则只需删除javascript_include_tagzd287kbt2#
在Rails 7中,turbo预先打包了一些gem,如果您使用的是Rails 6,则需要手动安装这些gem。
1/安装gem importmap-rails
2/安装gem stimulus-rails
这应该能解决你的问题。