Recherche de site Web

reactjs - Impossible de déterminer automatiquement le point d'entrée à partir de rollupOptions ou des fichiers HTML et il n'y a pas de optimizeDeps explicites


Dans mon projet d'équipe, pour la partie frontend, nous utilisons vite, react, yarn, typescript.

Je vais construire et déployer Docker avec le frontend.

J'ai réussi à créer une image Docker avec le frontend, mais je ne peux pas la déployer.

Pour être plus précis, seul un déploiement partiel a réussi.

Lorsque je l'ouvre dans Docker et que je regarde les journaux du conteneur, je vois que cela ressemble à ce qui suit.

VITE v4.3.9  ready in 247 ms
➜  Local:   http://localhost:3000/
➜  Network: http://172.17.0.4:3000/
(!) Could not auto-determine entry point from rollupOptions or html files and there are no explicit optimizeDeps.include patterns. Skipping dependency pre-bundling.

http://172.17.0.4:3000 est l'IP du conteneur, pas celle de l'hôte. Troisièmement, le [IP de l'hôte]:3000 devrait ressembler à ceci

Dockerfile

FROM node:18

WORKDIR /app

COPY package* yarn.lock .pnp*     ./
COPY .yarnrc.yml                  ./
COPY .yarn                        ./.yarn

RUN yarn cache clean \
    && yarn install --frozen-lockfile

CMD ["yarn", "dev", "--host", "0.0.0.0", "--port", "3000"]

package.json

{
  "name": "react-vite-berry-boilarplate",
  "private": true,
  "version": "0.0.0",
  "type": "module",
  "scripts": {
    "start": "vite",
    "dev": "vite",
    "start:build": "serve -s build",
    "build": "tsc && vite build",
    "build:dev": "tsc && vite build --mode development",
    "build:prod": "tsc && vite build --mode production",
    "preview": "vite preview"
  },
  "dependencies": {
    "react": "^18.2.0",
    "react-dom": "^18.2.0"
  },
  "devDependencies": {
    "@types/node": "^20.2.5",
    "@types/react": "^18.2.8",
    "@types/react-dom": "^18.2.4",
    "@typescript-eslint/eslint-plugin": "^5.59.8",
    "@typescript-eslint/parser": "^5.59.8",
    "@vitejs/plugin-react": "^4.0.0",
    "eslint": "^8.42.0",
    "eslint-plugin-react-hooks": "^4.6.0",
    "eslint-plugin-react-refresh": "^0.4.1",
    "typescript": "^5.1.3",
    "vite": "^4.3.9",
    "vite-plugin-svgr": "^3.2.0",
    "vite-tsconfig-paths": "^4.2.0"
  },
  "packageManager": "[email "
}

vite.config.ts

import { resolve } from "path";
import { defineConfig } from "vite";
import tsconfigPaths from "vite-tsconfig-paths";
import react from "@vitejs/plugin-react";
import svgr from "vite-plugin-svgr";

export default defineConfig({
  entry: "./build/index.html",
  plugins: [react(), tsconfigPaths(), svgr()],
  server: {
    port: 3000,
    host: true,
    open: "/",
  },
  build: {
    rollupOptions: {
      input: {
        main: resolve(__dirname, "index.html"),
      },
    },
    commonjsOptions: {
      include: [".yarn/**"],
    },
  },
  cacheDir: "./.vite",
  define: {
    global: "globalThis",
  },
});

tsconfig.json

{
  "compilerOptions": {
    "baseUrl": "src",
    "target": "ES2020",
    "useDefineForClassFields": true,
    "lib": ["ES2020", "DOM", "DOM.Iterable"],
    "module": "ESNext",
    "skipLibCheck": true,

    /* Bundler mode */
    "moduleResolution": "bundler",
    "allowImportingTsExtensions": true,
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "react-jsx",

    /* Linting */
    "strict": true,
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "noFallthroughCasesInSwitch": true,
    "paths": {
      "@components/*": ["components/*"],
      "@pages/*": ["pages/*"],
      "@hooks/*": ["hooks/*"],
      "@utils/*": ["utils/*"],
      "@assets/*": ["assets/*"]
    }
  },
  "include": ["src"],
  "references": [{ "path": "./tsconfig.node.json" }]
}

J'ai vraiment beaucoup cherché et demandé à d'autres personnes, mais il n'y avait aucune information sur vite, donc je l'ai laissé ici.

J'espère que quelqu'un connaît la réponse à ce problème

merci