簡體   English   中英

Docker-無法解析'/ usr / src / app / src'中的節點模塊

[英]Docker - Can't resolve node module in '/usr/src/app/src'

我有這個docker服務:

client/
      .dockerignore
      Dockerfile-dev
      package.json
      node_modules/
                  react-router-dom/   
                  spotify-web-api-js/
                  and-many-more/
      src/  
         App.jsx
         Spotify.js

它安裝以下node模塊:

的package.json

{
  "name": "client",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "axios": "^0.18.0",
    "react": "^16.8.2",
    "react-dom": "^16.8.2",
    "react-router-dom": "^4.3.1",
    "react-scripts": "2.1.5",
    "spotify-web-api-js": "^0.22.1"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": [
    ">0.2%",
    "not dead",
    "not ie <= 11",
    "not op_mini all"
  ],
  "devDependencies": {
    "enzyme": "^3.8.0",
    "enzyme-adapter-react-16": "^1.7.1"
  }
}

像這樣:

Dockerfile-dev的

# base image
FROM node:11.6.0-alpine

# set working directory
WORKDIR /usr/src/app

# add `/usr/src/app/node_modules/.bin` to $PATH
ENV PATH /usr/src/app/node_modules/.bin:$PATH

# install and cache app dependencies
COPY package.json /usr/src/app/package.json
RUN npm install --silent
RUN npm install react-scripts@2.1.2 -g --silent

# start app
CMD ["npm", "start"]   

在相同的路徑src ,我觀察到兩種不同的行為:

1)這有效:

App.jsx

import React, { Component } from 'react';
import { Route, Switch } from 'react-router-dom';

2)但這不起作用:

Spotify.js

import React, { Component } from 'react';   
import SpotifyWebApi from 'spotify-web-api-js';

引發以下錯誤:

Failed to compile
./src/Spotify.js
Module not found: Can't resolve 'spotify-web-api-js' in '/usr/src/app/src'

搬運工-撰寫-dev.yml

  client:
    build:
      context: ./services/client
      dockerfile: Dockerfile-dev
    volumes:
      - './services/client:/usr/src/app'
      - '/usr/src/app/node_modules'
    ports:
      - 3007:3000
    environment:
      - NODE_ENV=development
      - REACT_APP_WEB_SERVICE_URL=${REACT_APP_WEB_SERVICE_URL}
    depends_on:
      - web  

.dockerignore

node_modules
coverage
build
env
htmlcov
.dockerignore
Dockerfile-dev
Dockerfile-prod

我想念什么?

希望這可以幫助對我有用的人跑步

docker-compose down -v

它刪除所有卷。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM