如何在没有“运行”的情况下运行“ npm命令”(即“ npm命令”而不是“ npm运行命令”)?

时间:2019-09-27 19:13:39

标签: node.js npm

我的package.json定义:

    ...
    "scripts": {
        "start": "node scripts/start.js",
        "build": "node scripts/build.js",
        "test": "node scripts/test.js",
        "debug": "node --inspect-brk=9229 scripts/start.js"
    },
    ...

npm startnpm test都分别充当npm run startnpm run test。 但是,npm build不会:

$ npm build
npm WARN build `npm build` called with no arguments. Did you mean to `npm run-script build`?

我需要将run放在npmbuild之间,即npm run build

npm debug也是如此,尽管输出不同于npm build的输出:

$ npm debug

Usage: npm <command>

where <command> is one of:
    access, adduser, audit, bin, bugs, c, cache, ci, cit,
    clean-install, clean-install-test, completion, config,
    create, ddp, dedupe, deprecate, dist-tag, docs, doctor,
    edit, explore, get, help, help-search, hook, i, init,
    install, install-ci-test, install-test, it, link, list, ln,
    login, logout, ls, org, outdated, owner, pack, ping, prefix,
    profile, prune, publish, rb, rebuild, repo, restart, root,
    run, run-script, s, se, search, set, shrinkwrap, star,
    stars, start, stop, t, team, test, token, tst, un,
    uninstall, unpublish, unstar, up, update, v, version, view,
    whoami

当然,这似乎是因为starttest都属于where <command> is one of:列表。

但是我在想,有没有一种方法可以告诉npm像使用commandnpm build甚至npm debug这样的任意npm my_command npm build / npm debug / npm my_command

这只是我的好奇心,这就是为什么我问。

感谢您的关注。

2 个答案:

答案 0 :(得分:2)

很抱歉,但是不可能直接:(

我想,您可以克隆 npm 回购并添加自己的脚本

之后,您将可以像npm my_awesome_command

一样启动它

答案 1 :(得分:1)

您可以改用毛线。 全局安装yarn ..(在Linux或Mac中)

sudo npm i -g yarn

然后您可以尝试。.

yarn start

查看是否有效。 在我的反应应用程序中,它可以正常工作。