Uncaught ReferenceError: my is not defined

Uncaught ReferenceError: my is not defined

我是 Rails 6 和 Webpacker 的新手。

它应该很简单,但我找不到任何好的教程。

我只是想在新的 .js 文件中添加函数,但没有找到。

我的 application.js 是:

require("@rails/ujs").start();
require("turbolinks").start();
require("@rails/activestorage").start();
require("channels");
require("jquery")

import * as my from 'my/custom';

和app/javascript/my/custom.js 看起来像

export function helloWorld() {
  alert('Hello World');
}

我假设我现在可以使用 my.helloWorld()(例如在 chrome 控制台中),但随后我收到错误 Uncaught ReferenceError: my is not defined.

我也试过import {helloWorld} from 'my/custom';但没有成功

我想稍后在我的视图中使用这些功能。

我做错了什么?

提前致谢

也许你可以试试这个实现:-

application.js

require("@rails/ujs").start();
require("turbolinks").start();
require("@rails/activestorage").start();
require("channels");
require("jquery")

// require your custom js file
require("my/custom")

然后在您的自定义 js 文件中:-

app/javascript/my/custom.js

window.helloWorld = function helloWorld() {
  alert('Hello World');
}

然后在任何地方调用此函数helloWorld()