阅读 366

npm package.json scripts 传递参数

概述

直接加参数运行(如:npm run view test),实际上是拼接字符串到末尾,不够灵活。

使用npm_config环境变量传递参数,支持多个参数、多条命令顺序执行。

scripts

方法一 使用npm_config环境变量(推荐)

"scripts": {  "view": "echo %npm_config_host% & echo %npm_config_port%", } 复制代码

执行npm run view --host=localhost --port=2333即可

跨平台环境变量

如果脚本需要跨平台运行,可使用cross-env获取环境变量(就不需要区分%npm_config%$npm_config了)

安装:npm install cross-env --save-dev

使用:

"scripts": {  "view": "cross-env-shell echo %npm_config_host% & echo $npm_config_port", } 复制代码

方法二 调整命令格式

仅适用于变量少、并且可以调整命令格式的情况。 原理:将参数调整至末尾 例如想要执行frida -U appname -l _agent.js,其中appname是可变的,则调整命令格式为:

"scripts": {     "attach": "frida -l _agent.js -U" } 复制代码

此时执行npm run attach appname即可

js或ts

"scripts": {     "test": "node test.js" } 复制代码

执行npm run test appname,直接从process.argv获取即可:

const args = process.argv.slice(2); console.log('process.argv:\n', process.argv) console.log('参数:\n', args) 复制代码

参考

npm script之传参

npm scripts 使用指南


作者:XhyEax
链接:https://juejin.cn/post/7032919800662016031

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐