webpack - Rails 6 webpacker找不到已安装模块的模块

标签 webpack webpacker ruby-on-rails-6

在我的 Rails 6 项目中,我添加了 jQuery pushMenu

yarn add push-menu



来自 https://www.npmjs.com/package/push-menu
现在我可以在 node-modules 文件夹中看到它,作为推送菜单。但是,当我尝试从包中导入或包含时,如:
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"
}
}

我在这里做错了什么?

最佳答案

看起来推送菜单模块已损坏:
它定义了一个“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'

关于webpack - Rails 6 webpacker找不到已安装模块的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56628804/

相关文章:

ruby-on-rails - 安全过滤 Active Storage 文件名?

javascript - 如何建立一个极其简单的 webpack-dev-server 项目?

ruby-on-rails - Rails 5.2 和 webpacker 3.4.3 : Assets not compiled when deployed to Heroku

ruby-on-rails - 何时在 Rails 6 中使用 stylesheet_pack_tag 而不是 stylesheet_link_tag

ruby-on-rails - Rails ActiveStorage : how to avoid one redirect for each image?

ruby-on-rails - 如果 sidekiq 作业在 Rails 中处于死队列中,请重试它

angular - 为 ASP.NET Core 2.0 和 webpack 安装 ngx-bootstrap (Angular 4.2.5)

javascript - 无法解决在 typescript/webpack 中找不到模块 'rxjs'

javascript - 在 Webpack 和 React.js 中设置代码拆分

javascript - 如何从 Rails 中的 JS 文件中引用已编译的 Webpack 包文件的路径?