首页 > 解决方案 > 指向分支时如何解决“找不到模块”?

问题描述

我希望你们都做得很好。

所以,我面临的问题是当我指向一个分支时,webpacker 找不到“ react-visual-filter ”模块。

之前,当一切正常时,这个包指向一个特定的版本:

"react-visual-filter": "^1.0.9"

所以我创建了一个简单的 PR( #5 ) 并进行了改进,并尝试在模块外测试结果。要更新 package.json 文件以指向我的分支,我使用了以下命令:

yarn add https://github.com/rfdavid/react-visual-filter.git#feature/add-text-box

package.json 文件更新为:

"react-visual-filter": "https://github.com/rfdavid/react-visual-filter.git#feature/add-text-box"

行。我认为一切都很好,但是当 webpacker 尝试编译修改时,会发生这种情况:

Module not found: Error: Can't resolve 'react-visual-filter' in '/path/to/app/javascript/packs'

未找到?

我试图删除node_modules并再次使用纱线安装所有内容,但没有运气。

我可以看到 react-visual-filter 包已成功安装在 node_modules 文件夹中,但由于某种原因,找不到它。

有趣的是,在收到此错误后,如果我尝试更新:

import VisualFilter from "react-visual-filter";

到:

import VisualFilter from "react-visual-filter/src";

找到了模块,但我面临另一个问题:

Module parse failed: Unexpected token (155:6)
You may need an appropriate loader to handle this file type, currently, no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders

等等,什么?所以包存在但可以解析?

但是这个文件之前被解析得很好。我不确定这个错误是否准确。我认为我需要这样工作:

import VisualFilter from "react-visual-filter";

我迷路了。如果我返回“^1.0.9”,错误就会消失。

可能在我的 PR 中有什么,但我看不到是什么。

我已经将纱线更新为1.22.4.

我错过了什么?谁能帮我这个?

感谢您的时间。

标签: javascriptruby-on-railsreactjswebpackwebpacker

解决方案


我设置了一个简单的反应项目,并使用指向 github 的链接而不是版本进行了create-react-app额外安装。react-visual-filter我得到了同样的错误。

react-visual-filter缺少dist包含入口点等必要文件的文件夹的内容index.js

最简单的解决方法是取消忽略dist文件夹并将其推送到分支。

如果你不能这样做,你可能会在安装后排除src webpack.config.js和其他东西.npmignore并在本地构建它

cd node_modules/react-visual-filter

npm run build


推荐阅读