Vite:无法解析入口模块(index.html)

Bil*_*lal 24 node.js openshift docker dockerfile

我是 Openshift 3.11 部署的新手,我为 React 应用程序创建了一个多阶段 Dockerfile,构建希望在我的本地计算机上正确运行,但是当我在 openshift 集群上运行时,出现以下错误:

\n
> kncare-ui@0.1.0 build\n> tsc && vite build\n\nvite v2.9.9 building for production...\n\xe2\x9c\x93 0 modules transformed.\nCould not resolve entry module (index.html).\nerror during build:\nError: Could not resolve entry module (index.html).\n    at error (/app/node_modules/rollup/dist/shared/rollup.js:198:30)\n    at ModuleLoader.loadEntryModule (/app/node_modules/rollup/dist/shared/rollup.js:22680:20)\n    at async Promise.all (index 0)\nerror: build error: running \'npm run build\' failed with exit code 1\n
Run Code Online (Sandbox Code Playgroud)\n

这是我的文档

\n
FROM node:16.14.2-alpine as build-stage      \nRUN mkdir -p /app/\nWORKDIR /app/\nRUN chmod -R 777 /app/\nCOPY package*.json /app/\nCOPY tsconfig.json /app/\nCOPY tsconfig.node.json /app/\nRUN npm ci\nCOPY ./ /app/\nRUN npm run build\n\nFROM nginxinc/nginx-unprivileged \n#FROM bitnami/nginx:latest\nCOPY --from=build-stage /app/dist/ /usr/share/nginx/html\n#CMD ["nginx", "-g", "daemon off;"]\nENTRYPOINT ["nginx", "-g", "daemon off;"]\nEXPOSE 80\n
Run Code Online (Sandbox Code Playgroud)\n

Mat*_*ady 20

Vite默认使用html页面作为入口。因此,您要么需要创建一个,要么如果您没有 html 页面,则可以在“库模式”下使用它。

https://vitejs.dev/guide/build.html#library-mode

来自文档:

// vite.config.js
const path = require('path')
const { defineConfig } = require('vite')

module.exports = defineConfig({
  build: {
    lib: {
      entry: path.resolve(__dirname, 'lib/main.js'),
      name: 'MyLib',
      fileName: (format) => `my-lib.${format}.js`
    },
    rollupOptions: {
      // make sure to externalize deps that shouldn't be bundled
      // into your library
      external: ['vue'],
      output: {
        // Provide global variables to use in the UMD build
        // for externalized deps
        globals: {
          vue: 'Vue'
        }
      }
    }
  }
})
Run Code Online (Sandbox Code Playgroud)