使用OfficeDev/generator-office生成Excel React插件缺失postcss开发依赖问题
问题定性
确实是yo office生成的Excel TaskPane React Add-In模板的依赖声明遗漏。postcss-loader 4.0及以上版本已将postcss列为必填对等依赖,要求使用方显式声明对应依赖。
普通npm环境下不会报错,是因为css-loader本身依赖了postcss,松散的依赖提升规则会把css-loader携带的postcss提升到顶层,刚好满足postcss-loader的运行要求,但rush这类严格的monorepo依赖校验工具,会要求每个子项目的对等依赖必须由自身显式声明,不允许依赖其他包隐式携带的依赖,因此触发报错。
修复方案
- 针对当前项目快速修复:进入对应插件子项目目录,执行rush命令添加postcss为开发依赖即可
rush add -p postcss --dev
执行完成后重新运行rush update和rush build即可消除报错。
如果是测试的普通npm项目,执行如下命令即可:
npm i postcss -D
- 针对后续生成的项目永久修复:找到本地全局安装的
generator-office模板目录,修改React类型Office Add-In的package.json模板,在devDependencies字段中补充postcss的版本声明,后续使用yo office生成新项目时会自动携带该依赖,无需重复手动添加。
内容的提问来源于stack exchange,提问作者PreventRage
相关产品推荐
相关产品推荐

