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

从Laravel Mix迁移至Laravel Vite报错:找不到laravel-vite-plugin

Laravel Mix迁移到Vite时「Cannot find module 'laravel-vite-plugin'」及相关问题解决

核心错误解决:安装缺失的Vite依赖

报错明确提示找不到laravel-vite-plugin,是因为你删除Laravel Mix相关依赖后,未安装Vite及Laravel官方适配插件。在Laravel Sail环境下,直接执行容器内的npm命令完成安装:

sail npm install laravel-vite-plugin vite @vitejs/plugin-vue --save-dev

务必用sail npm而非本地npm执行,确保依赖安装在Docker容器对应的环境中,避免WSL2/宿主机环境不一致引发的问题。

修正vite.config.js中的无效资源路径

你的项目不存在resources/css/app.css文件,但vite.config.js的laravel插件配置里仍包含该路径,会导致Vite启动时找不到资源。修改配置,移除不存在的文件:

import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
import vue from '@vitejs/plugin-vue';

export default defineConfig({
    plugins: [
        laravel([
            'resources/js/app.js', // 移除'app.css'
        ]),
        vue({
            template: {
                transformAssetUrls: {
                    base: null,
                    includeAbsolute: false,
                },
            },
        }),
    ],
    resolve: {
        alias: {
            '@': '/resources/js'
        }
    }
});

后续若需全局CSS,再创建resources/css/app.css并重新加入配置即可。

修复app.js中的ES模块兼容问题

Vite默认只支持ES模块语法,你当前的app.js混合了CommonJS的require语法,需全部改为ES模块导入:

  1. 替换组件导入方式:
    原代码:

    app.component('login-header', require('./components/login-header').default);
    

    改为:

    import LoginHeader from './components/login-header';
    app.component('login-header', LoginHeader);
    

    所有组件(如fill-email、side-bar等)都要按此方式修改。

  2. 移除重复导入:
    代码末尾重复导入了lodash和axios,直接删除这两行:

    import lodash from 'lodash';
    import axios  from 'axios';
    
  3. 修正动态导入语法:
    原代码import('./functions').functions(app);写法错误,假设你的functions.js导出一个接收app实例的函数,调整为:

    // 若functions.js导出默认函数:export default function setup(app) { ... }
    import functions from './functions';
    functions(app);
    
    // 或用动态导入(需懒加载时):
    (async () => {
      const { default: functions } = await import('./functions');
      functions(app);
    })();
    

适配WSL2/Docker环境的额外提示

  • 确保Laravel项目目录放在WSL2的文件系统中(如/home/你的用户名/项目名),不要放在Windows挂载目录(如/mnt/c/...),避免文件同步延迟导致依赖安装异常或Vite热更新失效。
  • 所有npm命令均通过sail npm执行,保证容器内的依赖和运行环境一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 09:50:36