npm run build return Модуль не найден: Ошибка: не удается разрешить в моем docker контейнере в моем приложении Nuxt JS - PullRequest
0 голосов
/ 03 февраля 2020

Я занимаюсь этим вопросом уже несколько часов. Я продолжал получать сообщение об ошибке ниже, когда я запускаю npm run build

ERROR in ./store/chatroom.js
Module not found: Error: Can't resolve '@/services/ChatRoomService.js' in '/usr/src/app/store'
 @ ./store/chatroom.js 1:0-60 9:11-26
 @ ./.nuxt/store.js
 @ ./.nuxt/index.js
 @ ./.nuxt/client.js
 @ multi ./.nuxt/client.js

Что странно, это прекрасно работает только на моем локальном компьютере. Вышеуказанная ошибка возникает в моем docker build, и когда я запускаю свой контейнер с моей кодовой базой в нем .. Однако, это более странно, когда я запускаю свой контейнер с bind mount на моем локальном компьютере и пытаюсь npm run build, он работает правильно ..

Сначала я подумал, что, возможно, некоторые файлы из моего локального файла отсутствуют, но я попытался скопировать каждый файл в моем локальном хранилище через мой docker cp ., но он все равно не работает ..

Dockerfile

FROM node:8.12.0

WORKDIR /usr/src/app
EXPOSE 3000

COPY package.json package.json
RUN npm install

# To include everything
COPY . .

RUN npm run build

ENTRYPOINT ["/usr/src/app/entrypoint.sh"]

чат. js

import ChatRoomService from "@/services/ChatRoomService.js";
export const state = () => ({});
export const mutations = {};
export const actions = {
  getText({ commit }, data) {
    return ChatRoomService.queryText(data).then(response => {
      if (response.code === 1) {
        commit("bbs/SET_TOP_ARR", JSON.parse(response.data.content), {
          root: true
        });
      }
    });
  }
};

chatRoomService. js

import { mainApiClient, requestSetup } from "@/assets/js/axios.js";

const apiModule = "chatroom";

const resources = {
  chatroomGetChatRoomText: "text/queryText"
};

export default {
  queryText(body) {
    const resource = resources.chatroomGetChatRoomText;
    const [api, req] = requestSetup(resource, body, apiModule);
    return mainApiClient.post(api, req);
  }
};

1 Ответ

0 голосов
/ 19 марта 2020

ОБНОВЛЕНИЕ

Я решил это. Это было, как я импортировал. Я импортировал chatRoomService.js, где это должно было быть ChatRoomService.js. Он отлично работает в моем локальном компьютере, потому что это Ma c, но когда я помещаю его на сервер узла linux внутри контейнера, он становится более чувствительным

...