EJS项目中执行Tailwind purge报错找不到index.html该如何解决
问题根因
报错Error: Could not resolve entry module (index.html)是因为你配置的build命令走的是vite build,Vite 默认会将项目根目录的index.html作为构建入口,而你是基于 Express + EJS 的服务端渲染项目,不存在这个静态入口文件,因此触发报错。
调整方案
1. 修正 package.json 脚本配置
你的项目不需要使用 Vite 做构建/启动服务,直接替换原有脚本即可:
"scripts": { "build:tailwind": "NODE_ENV=production tailwind build -i src/style.css -o public/css/style.css", "start": "nodemon app.js", "dev": "nodemon app.js" }
注:Windows 环境如果无法识别
NODE_ENV=production语法,可以安装cross-env依赖,将命令改写为cross-env NODE_ENV=production tailwind build -i src/style.css -o public/css/style.css
加NODE_ENV=production的作用是触发 Tailwind 自动执行摇树瘦身逻辑,默认开发环境不会开启purge。
2. 调整 tailwind.config.js 配置
如果使用的是 Tailwind CSS v3 版本,原有purge字段已经更名为content,同时建议明确指定 EJS 模板的存放路径(通常EJS模板默认放在根目录的views文件夹下),避免全局扫描效率过低:
module.exports = { // Tailwind v2版本可以保留原purge字段,v3版本替换为content字段 content: ["./views/**/*.ejs"], darkMode: false, // or 'media' or 'class' theme: { extend: { container: { center: true, }, }, }, variants: { extend: {}, }, plugins: [], }
3. 执行构建
后续需要生成瘦身后的Tailwind样式文件时,直接执行npm run build:tailwind即可,Tailwind会自动扫描所有配置的EJS文件,移除未使用的样式代码。
内容的提问来源于stack exchange,提问作者Moshiur Rahman Rony
相关产品推荐
相关产品推荐

