webpack - Rails 6 webpacker找不到已安装模块的模块
问题描述
在我的 Rails 6 项目中,我添加了 jQuery pushMenu
纱线添加推送菜单
来自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'
推荐阅读
- swift - 一起使用 queryEqual 和 queryEnding?
- python - 来自 URL 的 Python Socket GET 请求格式不正确?
- python - 如何将非线性 cmap 围绕 RdYlGn 居中?
- apache-spark - K8s 上的 Spark:执行程序节点永远挂起
- java - Quarkus Qute 无法解析模板
- javascript - 在 Sequelize-CLI 中仅恢复两个迁移之一?
- java - 在两个活动之间划分片段是否更好,比如在 MainActivity 和另一个活动之间:(性能)?
- c++ - 当我将一个指针分配给另一个指针时会发生什么?
- amazon-web-services - AWS Lambda:ffmpeg 缩略图生成器:空 JPG
- css - ul 内每个 li 的宽度不同