Ged*_*ias 6 javascript import-maps ruby-on-rails-7
我是 JS 模块和导入映射的新手,现在我正在使用 Ruby on Rails 7,但我找不到一种方法来让它工作:
Js模块(proposals.js):
function openProposalMirror() ...
Run Code Online (Sandbox Code Playgroud)
应用程序.js
import * as Proposal from "./proposals.js"
Run Code Online (Sandbox Code Playgroud)
论观点:
onclick="Proposal.openProposalMirror()"
Run Code Online (Sandbox Code Playgroud)
错误:未捕获引用错误:提案未定义
如何在视图上访问 openProposalMirror() 函数?
一种方法是将 分配Proposal给对象window.Proposal。
您可以直接在里面设置,application.js如下所示:
// proposals.js
function openProposalMirror() {}
export { openProposalMirror }
// application.js
import * as Proposal from "./proposals.js"
window.Proposal = Proposal
// view
onclick="Proposal.openProposalMirror()"
Run Code Online (Sandbox Code Playgroud)
您还可以重新导出Proposal然后导入并将其分配给标签(在视图中)中的application.js对象,如下所示:window.Proposal<script>
// application.js
import * as Proposal from "./proposals.js"
export { Proposal };
// view
<%= javascript_importmap_tags %>
<script type="module">
import { Proposal } from "application"
window.Proposal = Proposal;
</script>
Run Code Online (Sandbox Code Playgroud)