ParcelJS v2使用rsuite时出现less内联JavaScript未启用报错如何解决?
解决方案
你此前尝试的方法大多不适用于Parcel 2.x版本(当前主流版本):旧版parcel-plugin-less-js-enabled仅兼容Parcel 1.x,根目录.lessrc配置无法作用于rsuite等第三方依赖内的less文件编译,可按以下步骤修复:
- 移除冲突配置与无效依赖
先卸载不兼容的插件,删除根目录下的.lessrc文件避免配置冲突:npm uninstall parcel-plugin-less-js-enabled - 配置全局less编译参数
在项目根目录package.json的根级字段中新增less配置,确保所有less文件(含第三方依赖内的文件)编译时生效:{ "name": "你的项目名", // 其余原有配置保持不变 "less": { "javascriptEnabled": true } } - 清理缓存后重启服务
Parcel默认会缓存编译配置,修改配置后必须清理缓存才能生效:# 删除parcel缓存目录 rm -rf .parcel-cache # 重新启动监听命令 parcel watch - 兜底兼容方案
若上述步骤仍未生效,可通过环境变量直接指定编译参数:
Mac/Linux系统使用:
Windows系统使用:LESS_JAVASCRIPT_ENABLED=true parcel watch
需跨平台兼容的项目可安装set LESS_JAVASCRIPT_ENABLED=true && parcel watchcross-env后使用:npx cross-env LESS_JAVASCRIPT_ENABLED=true parcel watch
内容的提问来源于stack exchange,提问作者OG Newbie
相关产品推荐
相关产品推荐

