首页 > 解决方案 > 如何使定义影响 rails-webpacker-managed js 中的全局范围?

问题描述

我正在将一个 Rails 5.1 应用程序从 sprockets-js 转换为 webpacker-js。

里面有app/assets/javascripts/libfigure/一个大约 6 个相互依赖的 js 文件的目录。我的意思是早期的文件定义了函数,如下所示:

function foo() {
  console.log('foo');
}

然后以后的文件调用这些函数:

foo();

此代码不使用模块。在这些文件中的任何地方都没有一次调用“导入”或“导出”。它们是为 JS-5 环境编写的。

现在我正在移植到 webpacker,但我找不到任何开关说:“是的,只需在全局命名空间中定义所有这些符号,我会承担后果。”。因此,现在我将它们全部编写为模块,并通过等待“编译器”错误来确定实际导出了哪些函数。这是一个漫长的过程,而不是我现在想担心的事情。

有谁知道一种让 webpacker 让我在全局范围内评估所有这些文件的方法,或者真的比我现在正在做的更好的方法,这是费力地重写,如下所示:

  export const foo = () => { console.log('foo'); );
  import { foo } from './foo.js'
  foo();

标签: ruby-on-railswebpacker

解决方案


推荐阅读