ruby-on-rails - 如何在 Rails 6 中使用 Webpacker 跨多个客户端 JavaScript 文件共享变量和函数?

标签 ruby-on-rails ruby-on-rails-6

Webpacker 是这样打包文件的

(function(module, exports) {

  function myFunction() {...}

这样做的结果是一个文件中的函数和变量不能从另一个文件中访问。或控制台。

解决这个问题的“rails 方法”是什么?

最佳答案

一旦您转移到 Webpacker,您就可以使用现代 ES6 编写 Javascript。这样,我们就可以在传统的 ES6 中导出和导入模块了。

例如:

// app/javascript/some_module.js

import moment from 'moment';

const SomeModule = {
  someMethod() {
    return someResult;
  }
};

export default SomeModule;

现在您可以将其导入另一个模块:

// app/javascript/another_module.js

import SomeModule from './some_module';

SomeModule.someMethod();

注意文件中的注释文件夹结构。

关于ruby-on-rails - 如何在 Rails 6 中使用 Webpacker 跨多个客户端 JavaScript 文件共享变量和函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58829081/

相关文章:

ruby-on-rails - 在 Rails 中播种外键?

mysql - 如何从控制台使用 Rails 3 事件记录插入多对多表

javascript - Rails 中 AngularJS 的路由和模板。如何路由到模板?

javascript - rails 6 : Uncaught Reference Error - $ is not defined

ruby-on-rails - 如何在 Rails 6 中一次运行所有测试,包括系统测试?

heroku - Rails 6 和 Tailwind CSS 不会部署到 Heroku

ruby-on-rails - 在 Rails 的子域中提供仪表板

amazon-elastic-beanstalk - AWS Beanstalk 中的 Rails 6 凭证 : ArgumentError: key must be 16 bytes

ruby-on-rails - 如何让 Bootstrap Javascript 在 Ruby on Rails 6 中工作

ruby-on-rails - NoMethodError:Roo::CSV:Class 未定义方法 `generate'