Поэтому я продолжаю получать эту ошибку «неожиданный токен u в JSON в позиции 0». В настоящее время я делаю запрос от основного инициатора, который делает запрос gRPC к серверу gRPC клиентов.
Когда я не помещаю файлы в контейнеры и не устанавливаю вручную пакеты npm в каждом каталоге, все работает без сбоев. Однако по какой-то причине, когда я помещаю свои файлы в контейнер, возникает эта проблема.
Обычно эта проблема возникает с асинхронными запросами (gRPC асинхронный, поэтому имеет смысл), и я думаю, что они стремятся к завершению, но никогда не могут этого сделать. Но dockerFile буквально делает то, что я делаю вручную (что работает ...)
Я просто в настоящее время не понимаю, почему это так.
Ошибка
Error:
undefined:1
undefined
^
SyntaxError: Unexpected token u in JSON at position 0
at JSON.parse (<anonymous>)
at horus.grabTrace (/usr/src/app/horus/horus.js:52:23)
at ClientUnaryCall.<anonymous> (/usr/src/app/main.js:119:8)
at ClientUnaryCall.emit (events.js:210:5)
at Object.onReceiveMetadata (/usr/src/app/node_modules/grpc/src/client_interceptors.js:1202:15)
at InterceptingListener._callNext (/usr/src/app/node_modules/grpc/src/client_interceptors.js:568:42)
at InterceptingListener.onReceiveMetadata (/usr/src/app/node_modules/grpc/src/client_interceptors.js:582:8)
at callback (/usr/src/app/node_modules/grpc/src/client_interceptors.js:845:24)
Структура файла
**3 Different Services**
**Books**
-stubs
-booksStub
-BooksServer.js
**Customers**
-stubs (2 stubs for intraservice request)
-booksStub
-customersStub
-customersServer.js
-Dockerfile
**Main**
-Main Initiator
-Dockerfile
Файлы Docker (все)
**Dockerfile (Customers Service)**
FROM node:12.14.0
WORKDIR /usr/src/app
COPY package*.json ./
COPY . /usr/src/app
RUN npm install
RUN npm install nodemon -g
EXPOSE 6000
CMD ["nodemon", "customersServer.js"]
**Dockerfile (Books Service)**
FROM node:12.14.0
WORKDIR /usr/src/app
COPY package*.json ./
COPY . /usr/src/app
RUN npm install
RUN npm install nodemon -g
EXPOSE 30043
CMD ["nodemon", "booksServer.js"]
**Dockerfile (Main Service)**
FROM node:12.14.0
WORKDIR /usr/src/app
COPY package*.json ./
COPY . /usr/src/app
RUN npm install
EXPOSE 4555
CMD ["node", "main.js"]