如何解决在传递给 yarn/npm 脚本之前格式化参数值
我有一个我想为某个特定文件夹运行的故事书启动脚本:
"storybook": "start-storybook -p 6006 -s ./src"
这会加载 src
文件夹中的所有故事。随着故事数量的增加,我只想从一些子文件夹中运行故事:
start-storybook -p 6006 -s ./src/components/CommonComponents
start-storybook -p 6006 -s ./src/components/DashboardComponents
如何动态格式化参数值以便像下面这样开始故事书?
$ yarn storybook CommonComponents
它会变成:
start-storybook -p 6006 -s ./src/components/CommonComponents
解决方法
storybook
任务可以是一个脚本,然后在脚本中解析参数,并调用 start-storybook
- 在
package.json
中创建一个任务(例如run-storybook
)并将其设置为执行自定义脚本:
"run-storybook": yarn ./path/to/script.js
#!/bin/env node
// script.js
const { spawn } = require('child_process')
const args = process.argv.slice(2)
const port = args[1]
const component = args[3]
const path = `./src/components/${component}`
spawn('yarn',['start-storybook','-p',port,'-s',path],{
stdio: 'inherit',shell: true
})
然后你可以调用:yarn run-storybook -p 600 -s yourcomponent
注意:确保脚本是可执行的:chmod +x /path/to/script.js
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。