第四篇:npx、npm run、npm install -g 到底有什么区别?
【摘要】 npx、npm run、npm install -g 到底有什么区别?Node.js 开发中经常会看到:npm installnpm runnpx xxx还有:npm install -g xxx它们到底有什么区别?npm install:安装依赖例如:npm install axios表示把 Axios 安装到项目中。开发工具则通常:npm install -D typescript安装到...
npx、npm run、npm install -g 到底有什么区别?
Node.js 开发中经常会看到:
npm install
npm run
npx xxx
还有:
npm install -g xxx
它们到底有什么区别?
npm install:安装依赖
例如:
npm install axios
表示把 Axios 安装到项目中。
开发工具则通常:
npm install -D typescript
安装到 devDependencies。
npm run:执行 package.json 脚本
如果 package.json 中有:
{
"scripts": {
"dev": "vite",
"build": "vite build"
}
}
就可以:
npm run dev
或者:
npm run build
也就是说:
npm run → 执行 package.json 中定义的脚本
npx:直接执行 CLI
例如:
npx tsc
表示直接运行 TypeScript 提供的 CLI。
它通常会优先使用项目中的依赖。
npm install -g:全局安装
例如:
npm install -g typescript
安装之后,可以直接:
tsc
但是全局安装存在一个问题:
不同项目可能需要不同版本。
因此现代项目通常更倾向于:
npm install -D typescript
npx tsc
而不是:
npm install -g typescript
一张表看懂
| 命令 | 作用 |
|---|---|
npm install xxx |
安装项目依赖 |
npm install -D xxx |
安装开发依赖 |
npm run xxx |
执行 package.json 脚本 |
npx xxx |
执行 npm CLI |
npm install -g xxx |
全局安装工具 |
实际开发怎么选?
一般来说:
项目依赖:
npm install
项目脚本:
npm run dev
执行项目 CLI:
npx eslint .
确实需要全局使用的 CLI:
npm install -g xxx
这样理解起来就简单多了。
下一篇,我们聊聊 npx 一个非常重要的问题:直接运行陌生的 npx 命令安全吗?
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)