ruby 导轨7:刺激导轨嵌套窗体不工作

f2uvfpb9  于 2023-08-04  发布在  Ruby
关注(0)|答案(1)|浏览(120)

我正在努力按照这里提到的说明去做
https://www.stimulus-components.com/docs/stimulus-rails-nested-form/
但是当我添加import语句时

import NestedForm from 'stimulus-rails-nested-form'

字符串
我看到以下错误

ERROR in ./node_modules/stimulus-rails-nested-form/dist/stimulus-rails-nested-form.mjs 2:16-17
Can't import the named export 'Controller' from non EcmaScript module (only default export is available)


下面是我的app/javascript/controllers/application.js

import { Application } from "@hotwired/stimulus"
import NestedForm from 'stimulus-rails-nested-form'

const application = Application.start()
// application.register('nested-form', NestedForm)
// Configure Stimulus development experience
application.debug = false
window.Stimulus   = application

export { application }


下面是我的package.json的内容

{
  "name": "backend",
  "private": true,
  "dependencies": {
    "@hotwired/stimulus": "^3.2.1",
    "@hotwired/stimulus-webpack-helpers": "^1.0.1",
    "@rails/webpacker": "5.4.4",
    "node": "^16.20.1",
    "stimulus-rails-nested-form": "^4.1.0",
    "webpack": "^4.46.0",
    "webpack-cli": "^3.3.12"
  },
  "devDependencies": {
    "@babel/plugin-proposal-private-methods": "^7.18.6",
    "@babel/plugin-proposal-private-property-in-object": "^7.21.11",
    "webpack-dev-server": "^3"
  }
}


我在铁路Rails 7.0.3上。任何可能丢失的东西的帮助将是伟大的,谢谢。

jtoj6r0c

jtoj6r0c1#

我的JavaScript fu,不是很好,但似乎这是一个bug stimulus-rails-nested-form。其“.mjs”文件(默认模块入口点)以不正确的方式导入 @hotwired/stimulus。正如错误提到的,模块中只有默认导出可用,但已完成命名导入。

  • stimulus-rails-nested-form* 使用一个名为here的导入,如下所示
import { Controller as n } from "@hotwired/stimulus"

class r extends n { ... }

字符串
正如错误所提到的,导入的模块只有一个默认的导出,所以应该像这样导入:

import Stimulus from "@hotwired/stimulus"

class r extends Stimulus.Controller { ... }


由于这需要更改库,在此之前,可以通过从 stimulus-rails-nested-form 提供的UMD文件导入来解决。

import NestedForm from 'stimulus-rails-nested-form/dist/stimulus-rails-nested-form.umd.js'

相关问题