You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript/Vite.js多页应用build构建报EISDIR错误该如何解决?

问题根因与解决方案

EISDIR报错的核心原因是构建时Vite将你指定的home.html路径识别为目录而非文件,可按以下步骤排查解决:

  • 确认文件系统正确性
    打开项目根目录执行终端命令:ls -la pages/home,检查输出结果中home.html的类型标识:
    • 若开头为d,说明误创建了同名目录,删除该目录后重新创建home.html文件即可
    • 若开头为-,说明文件本身正常,继续往下排查
  • 调整Vite配置
    明确指定项目root参数,同时给路径补全相对位置符,避免路径解析偏差,修改后的配置如下:
const { resolve } = require("path");
const { defineConfig } = require("vite");

module.exports = defineConfig({
  root: __dirname,
  build: {
    rollupOptions: {
      input: {
        main: resolve(__dirname, "./index.html"),
        login: resolve(__dirname, "./pages/login/login.html"),
        home: resolve(__dirname, "./pages/home/home.html"),
      },
    },
  },
});
  • 依赖冲突修复
    如果以上操作后仍报错,大概率是依赖版本兼容问题,执行以下命令重装依赖后重新构建即可:
rm -rf node_modules package-lock.json yarn.lock pnpm-lock.yaml
npm install
npm run build

登录权限控制方案

不需要额外引入插件,可直接在home.js头部添加登录态校验逻辑,未登录用户自动跳转回登录页,示例代码如下:

// home.js 入口逻辑
const userToken = localStorage.getItem('login_token')
if (!userToken) {
  window.location.replace('/pages/login/login.html')
}

内容的提问来源于stack exchange,提问作者Mickey Vershbow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 20:06:05