【发布时间】:2021-07-24 12:47:09
【问题描述】:
我很难正确配置和设置我自己的 JS 文件,其中包含用于特定任务的 JS 函数。
我浏览了一些文章,发现我需要将我的自定义 JS 放到 JS packs 文件夹中 -> app/javascript/packs/currency_calculations.js:
currency_calculations.js:
function convert_curr(from, to) {
...
}
function show_convertion(curr) {
...
}
...
然后我尝试将此自定义 JS 文件添加到 app/javascript/packs/application.js:
import Rails from "@rails/ujs";
import "@hotwired/turbo-rails";
import * as ActiveStorage from "@rails/activestorage";
import "channels";
import "controllers";
Rails.start();
ActiveStorage.start();
import "stylesheets/application";
// my custom JS file
import "packs/currency_calculations" // I also tried import "currency_calculations" -- same result
我还尝试将以下内容添加到 application.html.erb 文件中:
= javascript_pack_tag 'currency_calculations'
它也没有用。
我仍然收到此错误:
Uncaught Error: Cannot find module 'currency_calculations'
当尝试从视图调用函数时,则:
Uncaught ReferenceError: convert_curr is not defined
连接它的正确方法是什么?我从 Rails 5 开始使用将我所有的 JS 函数放到一个 js 文件中,而这个文件只是为了添加到 app/assets/javascripts/application.js 中,如下所示:
//= require currency_calculations
然后,在一个视图中,我可以简单地调用想要的 JS 函数,如 convert_curr("a", "b")。
提前谢谢你。
【问题讨论】:
标签: javascript jquery ruby-on-rails ruby