【问题标题】:React-Rails 6 - Unable to import node_modules packageReact-Rails 6 - 无法导入 node_modules 包
【发布时间】:2020-11-13 09:08:45
【问题描述】:

我正在尝试在我的 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 包,但无济于事

【问题讨论】:

    标签: ruby-on-rails webpack react-rails


    【解决方案1】:

    问题最终归结于使用容器并且仅在我的一个容器上本地运行 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-19
      • 1970-01-01
      • 2021-07-25
      • 2019-10-21
      • 2018-12-18
      • 2017-03-05
      • 1970-01-01
      • 2016-01-24
      相关资源
      最近更新 更多