React: 找不到模块: 无法解析 “React-html-parser”

共1个回答,已解决, 标签: reactjs docker docker-compose

我正在尝试安装Html 解析器在我的 docker 容器 “客户端” 中:

Docker-compose.yml
客户/
Dockerfile-dev
Node_modules/
Src/
组件/
种子。

并尝试在这里导入它:

种子。

从 “react” 导入 React,{组件};
进口 ReactHtmlParser,{processNodes,convertNodeToElement,htmlparser2}
来自 “react-html-parser”;
进口 axios 'axios' 的;

'Axios''React'安装好了,但没有“React-html-parser”。控制台将错误记录给我:

Index.js: 1437/Src/组件/种子
找不到模块: 无法解决 “/usr/src/app/src/组件” 中的 “反应-html-参数”

Json 包

{
“姓名”: “客户”,
“版本”: “0.1.0”,
“私人”: 真的,
【依赖】: {
“Axios”: “^ 0.18.0”,
“反应”: “16.8.2”,
“Dom-dom”: “16.8.2”,
"Dom-路由器-dom": "^ 4.3.1",
“反应脚本”: “2.1.5”,
“React-html-解析器”: “2.2”,# <-新
“Spotify-web-api-js”: “0.22.1”
},
【脚本】: {
“开始”: “反应脚本开始”,
“构建”: “反应脚本构建”,
“测试”: “反应脚本测试”,
“弹出”: “反应脚本弹出”
},
【 EslintConfig 】: {
“扩展”: “反应--应用程序"
},
【浏览列表】: 【
"> 0.2%"
“没有死”
"不是 ie <= 11",
“不是 op_mini all”
],
【 DevDependencies 】: {
“酶”: “^ 3.8.0”,
“酶-适配器-反应-16”: “1.7.1”
}
}

Dockerfile-dev

# 基础图像
从节点: 11.6.0-高山

# 设置工作目录
工作目录/usr/src/app

# 将 “/usr/src/app/node_modules/.bin” 添加到 $ PATH
ENV PATH/usr/src/app/node_modules/.bin: $ PATH

# 安装和缓存应用程序依赖项
复制 package.json/usr/src/app/package.json

运行 silent 安装-静音
运行安装 react-scripts@2.1.2 npm-g-静音

# 启动应用
CMD ["npm" "start"]

Docker-compose.yml

客户:
构建:
背景:。服务/客户
Dockerfile: Dockerfile-dev
卷:
-'。/服务/客户端:/usr/src/app'
-'/Usr/src/app/node_modules'
端口:
-3000: 3000
环境:
-= NODE_ENV 发展
-REACT_APP_WEB_SERVICE_URL =${ REACT_APP_WEB_SERVICE_URL}
依赖:
-网络

我无法在我的节点模块文件夹.

我在这里错过了什么?


编辑: 无-silent 安装:

Npm 警告过时 fsevents@1.2.4: 太旧了
Core 警告已弃用的 core-js@2.6.4: 不再维护 core-js @ <2.6.8。请升级到 core-js @ 3,或者至少升级到 core-js @ 2 的实际版本。
Npm 警告已弃用的 joi@11.4.0: 根据 hapi 支持策略 (hapi.im/support),此版本已弃用。请升级到最新版本,以获得最佳功能、错误修复和安全补丁。如果您此时无法升级,则可以为旧版本 (hapi.im/commercial) 提供付费支持。
Npm 警告不推荐使用的 circular-json@0.3.3: CircularJSON 仅在维护中,flatted 是它的继任者。
Npm 警告不推荐使用的 kleur@2.0.2: 如果你喜欢旧语法,请升级到 kleur @ 3 或迁移到 “ansi 颜色”。访问迁移路径。
Npm 警告反对 flatten@1.0.2: 我写了这个模块
第1个答案(采用)

当你的Docker-compose.yml文件说:

卷:
-'/Usr/src/app/node_modules'

你告诉 Docker 你的节点模块目录包含需要跨容器运行保持的关键数据。第一次启动容器时,它会从图像中填充,但是由于该目录包含关键数据,即使你试图更新它,Docker 也永远不会再次更新它新公共管理安装附加模块。

对于一个短期的变通办法,这足以Docker-stop stop; docker-compose rm; docker-compose up-build你的集装箱删除现有容器 (及其匿名卷) 很重要。

相关问题

如何使用使用效果挂钩注册事件? 未知的浏览器 kaios 在 Set间隙中使用 "反应状态" 挂钩时状态不更新 MSBuild 未处理异常: 除非设置了 UseShellExecute,否则 FileName 属性不应是目录 如何解决 Alpine docker 容器内烧瓶应用 Gunicorn exec 上提出的 &ldquo;oserror: libc 未找到&rdquo; 缺少 inotify 事件 (在。Git 目录 烧瓶 CLI 在通过文档撰写运行时引发 "OSError: [Errno 8] Exec 格式错误" E: 在使用 docker compose 的 php-fpm 映像构建中,包 &ldquo;mysql-client&rdquo; 没有安装候选 React: 找不到模块: 无法解析 &ldquo;React-html-parser&rdquo;