Vite+Laravel生产构建模式下能否使用通配符输入路径?
Vite构建模式下使用通配符的问题解决
Vite的生产构建模式不支持直接在entry配置中使用通配符,这就是你执行npm run build时报错的核心原因。开发模式能正常工作,是因为Vite在开发阶段的资源处理逻辑和生产构建不同,它可以临时解析通配符,但构建阶段要求必须提供明确的入口文件路径。
给你两种可行的解决办法:
手动枚举所有入口文件
直接把需要打包的CSS和JS文件路径逐一列出来,比如:export default defineConfig({ plugins: [ laravel({ input: [ "resources/css/app.css", "resources/css/dashboard.css", "resources/js/app.js", "resources/js/sidebar.js", ], refresh: true, }), ] });用Node.js工具动态匹配文件
借助glob包动态获取符合通配符的文件列表(先执行npm install glob --save-dev安装依赖),配置示例:import { defineConfig } from 'vite'; import laravel from 'laravel-vite-plugin'; import glob from 'glob'; export default defineConfig({ plugins: [ laravel({ input: [ ...glob.sync('resources/css/*.css'), ...glob.sync('resources/js/*.js'), ], refresh: true, }), ] });这种方式会在Vite加载配置时,把通配符转换成具体的文件路径数组,满足构建阶段对明确入口的要求。
内容的提问来源于stack exchange,提问作者Danial Qsk
相关产品推荐
相关产品推荐

