无法启动django-tailwind开发服务器:语法错误问题求助
问题解决:SyntaxError: Unexpected token '?' 运行django-tailwind时
问题根源
错误中的??是空值合并运算符,该语法仅在Node.js 14及以上版本支持。你当前使用的Node.js 12.22.9不兼容这个语法,而postcss-load-config依赖的lilconfig包使用了该特性,导致Node无法解析代码,抛出语法错误。
另外,你修改postcss.config.js为ES模块导出格式(export const plugins)是不必要的,Node.js 12默认不支持ES模块,这反而可能引发额外问题。
解决方案
方案1:升级Node.js到兼容版本(推荐)
Node.js 12已停止官方维护,升级到LTS版本(如18.x)能避免后续更多依赖兼容问题:
- 安装nvm(Node版本管理器):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash - 重启终端后,安装并切换到Node.js 18 LTS:
nvm install 18 nvm use 18 - 验证版本:
node -v - 重新运行命令:
python manage.py tailwind start
方案2:降级postcss-load-config到兼容Node 12的版本
如果暂时无法升级Node,可降级postcss-load-config到支持Node 12的版本:
- 进入项目的
theme/static_src目录:cd ~/dev/portal_prosesmt/theme/static_src - 安装兼容版本(v3.1.4):
npm install postcss-load-config@3.1.4 --save-dev - 将
postcss.config.js改回CommonJS格式:module.exports = { plugins: { "postcss-import": {}, "postcss-simple-vars": {}, "postcss-nested": {} } }; - 重新运行命令:
python manage.py tailwind start
内容的提问来源于stack exchange,提问作者Vinicius Cavalcante
相关产品推荐
相关产品推荐

