【问题标题】:how to install inputmask on rails 6 with webpacker using jquery dependency如何使用 jquery 依赖项使用 webpacker 在 rails 6 上安装 inputmask
【发布时间】:2020-02-12 06:59:15
【问题描述】:

我正在尝试通过 webpacker 在 Rails 6 上安装 inputmask。当前出现以下错误:

Uncaught TypeError: $el.inputmask is not a function

当前设置,编译没有问题。

app/javascript/packs/application.js

require("jquery")
require("inputmask")
require("inputmask/dist/inputmask/inputmask");
require("inputmask/dist/inputmask/inputmask.numeric.extensions");
require("inputmask/dist/inputmask/inputmask.date.extensions");
require("inputmask/dist/inputmask/jquery.inputmask");

config/webpack/alias.js

const path = require('path')

module.exports = {
  resolve: {
    alias: {
    "./dependencyLibs/inputmask.dependencyLib": "./dependencyLibs/inputmask.dependencyLib.jquery",
    }
  }
}

config/webpack/environment.js

const { environment } = require('@rails/webpacker')
const aliasConfig = require("./alias")
const webpack = require('webpack')

environment.config.merge(aliasConfig)

environment.plugins.prepend('Provide',
  new webpack.ProvidePlugin({
    $: 'jquery/src/jquery',
    jQuery: 'jquery/src/jquery'
  })
)

module.exports = environment

我已经看到了很多例子,但似乎没有任何效果。

【问题讨论】:

  • 你找到解决办法了吗?

标签: ruby-on-rails webpacker


【解决方案1】:

我认为 jquery 最常见的设置是使用 yarn 安装它:

yarn add jquery

然后在 environment.js 中

(...)

environment.plugins.append('Provide', new webpack.ProvidePlugin({
  $: 'jquery',
  jQuery: 'jquery'
}));

(...)

app/javascript/packs/application.js 中不需要require("jquery")

输入掩码安装:

yarn add inputmask

app/javascript/packs/application.js

import 'inputmask';

【讨论】:

    【解决方案2】:

    使用

    require("inputmask").default
    

    【讨论】:

      猜你喜欢
      • 2021-05-20
      • 1970-01-01
      • 2018-05-16
      • 1970-01-01
      • 2021-02-27
      • 1970-01-01
      • 2023-04-03
      • 2021-02-05
      • 1970-01-01
      相关资源
      最近更新 更多