首页 > 解决方案 > 如何在 Rails 6 中使用 Webpacker 跨多个客户端 JavaScript 文件共享变量和函数?

问题描述

Webpacker 像这样打包文件

(function(module, exports) {

  function myFunction() {...}

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

解决这个问题的“铁路方式”是什么?

标签: ruby-on-railsruby-on-rails-6

解决方案


一旦你转移到 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();

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


推荐阅读