如何在NX项目Library的每个组件包中运行NPM脚本?
解决NX运行组件package.json脚本报错的问题
检查project.json目标配置
确保css-components的project.json中,prepack目标使用nx:run-script执行器,明确指定要运行的脚本名和组件所在目录,避免NX全局查找不存在的命令:
{ "targets": { "prepack": { "executor": "nx:run-script", "options": { "script": "prepack", "cwd": "libs/css-components/button" // 替换为Button组件实际所在路径 } } } }
验证组件package.json脚本有效性
进入Button组件目录,确认package.json中确实存在prepack脚本,且脚本命令本身可正常运行:
{ "scripts": { "prepack": "postcss src/**/*.css -o dist/styles.css" // 你的PostCSS处理命令 } }
手动执行npm run prepack,排除脚本自身的语法或依赖问题。
批量运行多组件脚本(可选)
若css-components包含多个组件,可在根目录package.json添加批量执行脚本:
{ "scripts": { "prepack:components": "nx run-many --target=prepack --projects=css-components-*" } }
执行npm run prepack:components即可批量处理所有组件的prepack脚本。
适配NX旧版本执行器
如果使用较旧的NX版本,需将执行器替换为@nrwl/workspace:run-script,确保执行器名称与版本兼容。
内容的提问来源于stack exchange,提问作者decodedcreative
相关产品推荐
相关产品推荐

