Rails 6 webpacker не может найти модуль для установленного модуля

в моем проекте Rails 6 я добавил jQuery pushMenu с

пряжа добавить push-меню

из https://www.npmjs.com/package/push-menu Теперь я могу см. это в папке узлов-модулей в виде всплывающего меню. однако, когда я пытаюсь импортировать или включать из пакетов, как:

require("push-menu")

я получаю следующую ошибку:

Uncaught Error: Cannot find module 'push-menu'
at webpackMissingModule (application.js:12)
at Module../app/javascript/packs/application.js (application.js:12)
at __webpack_require__ (bootstrap:19)
at bootstrap:83
at bootstrap:83

мой файл package.json выглядит так

//package.json file
{
"name": "example_setup",
"private": true,
"dependencies": {
"@rails/actioncable": "^6.0.0-alpha",
"@rails/activestorage": "^6.0.0-alpha",
"@rails/ujs": "^6.0.0-alpha",
"@rails/webpacker": "^4.0.7",
"jquery": "^3.4.1",
"push-menu": "^2.0.8",
"select2": "^4.0.7",
"turbolinks": "^5.2.0"
},
"version": "0.1.0",
"devDependencies": {
"webpack-dev-server": "^3.7.1"
}
}

Что я здесь делаю не так?


person Umes Bastola    schedule 17.06.2019    source источник
comment
Не могли бы вы проверить, есть ли там node_modules/push-menu папка?   -  person stwienert    schedule 18.04.2021


Ответы (1)


Похоже, модуль push-меню сломан:

Он определяет app / index.js как главный индексный файл:

{
  "name": "push-menu",
  "version": "2.0.8",
  ...
  "main": "app/index.js",
}

но в папке node_modules нет node_modules/app/index.js

Попробуйте импортировать это так:

import from 'push-menu/src/js/jquery.pushMenu'
person stwienert    schedule 17.04.2021