guoshuai93 / blog

19 stars 2 forks source link

npm-start-vs-npm-run-start #44

Open guoshuai93 opened 2 years ago

guoshuai93 commented 2 years ago

TL;DR

之前蛮好奇命令同是写在 script 下,为什么 start 命令,可以忽略 run, 只使用 npm start;而 build 命令只能通过 npm run build 来启动。

查了下资料,里面确实有蛮多细节。

npm run-script

run-script 是 npm 的一个命令,run 是 run-script 的别名。

语法:

npm run-script <command> [-- <args>]

# alias: run
npm run start
# 假如 devDependency 里安装了 tap,应该这么写
"scripts": {"test": "tap test/*.js"}

# 而不是
"scripts": {"test": "node_modules/.bin/tap test/*.js"}

npm run start vs npm start

npm run-script 是 npm 的一个命令,其实 start 也是 npm 的一个命令。

teststop 等同 start 一样,都是 npm 内置的命令,都可以不加 run 命令而执行,除了内置的命令,其他在 scripts 对象里配置的都需要通过 npm run <command> 来执行,但常见的 build 命令也并没有内置,大概是 npm 觉得不值得吧(🤷‍♂️)...