微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 rails 6 安装 Exposure-loader 3.0.0?

如何解决如何使用 rails 6 安装 Exposure-loader 3.0.0?

我仍然对 jQuery 有一些依赖。对于 Rails 6 和 Webpack,需要公开 jquery,否则会发生错误。我一直在使用expose-loader 1.0.3 一段时间没有问题...现在可以使用1.0.3 没有问题。但是,如果我升级到 Exposure-loader 2.0.0 或 3.0.0,我会得到:

ERROR in ./node_modules/jquery/dist/jquery.js
Module build Failed (from ./node_modules/expose-loader/dist/cjs.js):
TypeError: this.getoptions is not a function
    at Object.loader (/Users/drama/Sites/FlightRecord/node_modules/expose-loader/dist/index.js:19:24)
ℹ 「wdm」: Failed to compile.

使用expose-loader 1.0.3,我只需在environment.js 中添加以下内容来公开jQuery:

environment.loaders.append("jquery",{
  test: require.resolve("jquery"),use: [
    { loader: "expose-loader",options: { exposes: ["$","jQuery"] } }
  ],});

如果与expose-loader >= 2 一起使用,同样的语法会导致上面的错误。所以,看起来不愉快的代码在于environment.loaders.append 调用。我已经阅读了更改日志、文档、stackoverflow 和博客……但是,我尝试的任何内容似乎都无法满足新的公开加载程序。

现在,我回到只使用 1.0.3...但我想克服这个问题并使 3.0.0 工作。

如何在 Rails 6.1 中使用公开加载器 3.0.0 为 Webpacker 公开 jQuery?

我的 environment.js 文件包含以下内容

environment.plugins.append('Provide',new webpack.ProvidePlugin({
    Rails: ['@rails/ujs'],$: 'jquery',jQuery: 'jquery','window.jQuery': 'jquery',Popper: ['popper.js','default']
  })
)

environment.loaders.append("jquery",});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。