执行npm run css:watch时出现acorn语法错误,请求协助排查
Acorn解析语法错误分析与解决办法
问题场景
执行npm run css:watch命令时触发Acorn语法解析错误,错误日志如下:
Rebuilding... SyntaxError: Unexpected token (16:4) at pp$4.raise (/Users/ajeshofficial/Local Sites/nintriva/app/public/wp-content/themes/nintriva/node_modules/acorn/dist/acorn.js:2927:15) at pp.unexpected (/Users/ajeshofficial/Local Sites/nintriva/app/public/wp-content/themes/nintriva/node_modules/acorn/dist/acorn.js:698:10) at pp.expect (/Users/ajeshofficial/Local Sites/nintriva/app/public/wp-content/themes/nintriva/node_modules/acorn/dist/acorn.js:692:28) at pp$3.parseExprList (/Users/ajeshofficial/Local Sites/nintriva/app/public/wp-content/themes/nintriva/node_modules/acorn/dist/acorn.js:2818:14) at pp$3.parseExprAtom (/Users/ajeshofficial/Local Sites/nintriva/app/public/wp-content/themes/nintriva/node_modules/acorn/dist/acorn.js:2298:28) at _class.parseExprAtom (/Users/ajeshofficial/Local Sites/nintriva/app/public/wp-content/themes/nintriva/node_modules/acorn-node/lib/dynamic-import/index.js:77:117) at pp$3.parseExprSubscripts (/Users/ajeshofficial/Local Sites/nintriva/app/public/wp-content/themes/nintriva/node_modules/acorn/dist/acorn.js:2129:21) at pp$3.parseMaybeUnary (/Users/ajeshofficial/Local Sites/nintriva/app/public/wp-content/themes/nintriva/node_modules/acorn/dist/acorn.js:2106:19) at _class.parseMaybeUnary (/Users/ajeshofficial/Local Sites/nintriva/app/public/wp-content/themes/nintriva/node_modules/acorn-node/lib/private-class-elements/index.js:122:54) at pp$3.parseExprOps (/Users/ajeshofficial/Local Sites/nintriva/app/public/wp-content/themes/nintriva/node_modules/acorn/dist/acorn.js:2041:21) { pos: 503, loc: Position { line: 16, column: 4 }, raisedAt: 533 }
项目package.json配置:
{ "name": "suitejar", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "css:watch": "npx tailwindcss -i ./css/main.css -o ./css/flutter-page.css --watch", "css:build": "npx tailwindcss -i ./css/main.css -o ./css/flutter-page.css --minify" }, "keywords": [], "author": "", "license": "ISC", "devDependencies": { "@tailwindcss/typography": "^0.5.9" }, "dependencies": { "@tailwindcss/aspect-ratio": "^0.4.2" } }
错误原因
- 版本不兼容:项目未显式安装
tailwindcss,使用npx调用时会拉取最新版,但项目依赖的acorn-node(底层依赖Acorn)版本过旧,无法解析新版Tailwind中使用的ES语法(如私有类元素、动态导入,错误栈已提示相关模块)。 - 依赖冲突:全局或临时拉取的Tailwind版本与项目中已安装的Tailwind插件(
@tailwindcss/typography、@tailwindcss/aspect-ratio)版本不匹配,导致解析过程中出现语法兼容性问题。 - 配置文件语法错误:
tailwind.config.js或main.css的自定义配置中存在不符合JavaScript/CSS语法的代码,错误提示的第16行第4列对应配置文件的语法问题。
解决办法
- 显式安装兼容版TailwindCSS:
安装最新稳定版TailwindCSS并添加到开发依赖,确保与插件版本兼容:npm install tailwindcss@latest --save-dev - 清理依赖并重新安装:
删除旧的依赖目录和锁文件,避免版本冲突:rm -rf node_modules package-lock.json npm install - 检查配置文件语法:
定位到错误提示的第16行第4列,检查tailwind.config.js或相关JS配置文件,修正语法错误(比如多余的逗号、不正确的类语法等)。 - 使用本地Tailwind命令:
修改package.json中的脚本,直接调用本地安装的Tailwind,避免npx拉取全局版本:"scripts": { "css:watch": "./node_modules/.bin/tailwindcss -i ./css/main.css -o ./css/flutter-page.css --watch", "css:build": "./node_modules/.bin/tailwindcss -i ./css/main.css -o ./css/flutter-page.css --minify" }
内容的提问来源于stack exchange,提问作者AJESHOFFICIAL
相关产品推荐
相关产品推荐

