React-Rails 6 - 无法导入 node_modules 包

React-Rails 6 - Unable to import node_modules package

我正在尝试在我的 react-rails 项目中使用 npm 包,但似乎无法成功导入它。我先运行以下:

yarn add @mapbox/mapbox-gl-draw

然后,我尝试了以下两种导入方式:

import * as MapboxDraw from '@mapbox/mapbox-gl-draw';
const MapboxDraw = require('@mapbox/mapbox/gl-draw');

然而,这两个都产生了完全相同的错误:

 Module not found: Error: Can't resolve '@mapbox/mapbox-gl-draw' in '/opt/app/myrailsapp/app/javascript/src/scenes/myscene.jsx'

如何在 react-rails 项目中正确使用标准 npm 包?我也尝试将上述语句移动到我的 application.js 包中,但无济于事

问题最终是由于使用容器造成的,并且只在我的一个容器上本地 运行ning yarn install。我有以下 docker-compose.yaml:

services:
  myapp:
    # ...
    build:
      context: myapp/.
      dockerfile: Dockerfile.development

  webpacker:
    # ...
    build:
      context: myapp/.
      dockerfile: Dockerfile.development

当我尝试安装软件包时,我只 运行

docker-compose exec myapp yarn install @mapbox/mapbox-gl-draw

这安装很好,但 用于该容器。我还需要 运行 在 webpacker 容器上。看起来好像包安装正确,而实际上 webpacker 容器不包含包。

由于安装节点模块是我的 Dockerfile 的一部分,因此修复是 运行 docker-compose build