nodejs 常用命令

介绍

nodejs是一个基于Chrome V8引擎的JavaScript运行环境。它允许你在服务器端运行JavaScript代码,而无需安装浏览器。nodejs是一个非阻塞式的事件驱动平台,非常适合构建实时应用程序。

nodejs创建应用

已安装 16.0 或更高版本的 Node.js

$ npm init

生产环境/开发环境

在生产环境(production)中,你应该使用npm install命令安装依赖项。这将安装所有依赖项,包括生产环境和开发环境的依赖项。

在开发环境(development)中,你应该使用npm install --save-dev命令安装依赖项。这将安装所有开发环境的依赖项,而不安装生产环境的依赖项。

package.json

在创建nodejs应用时,npm会自动创建一个package.json文件。这个文件包含了应用的元数据,例如应用的名称、版本、描述、作者、依赖项等。

你可以使用npm install命令安装依赖项,这将自动更新package.json文件。

你也可以手动编辑package.json文件,添加或删除依赖项。

{
  "name": "my-app",
  "version": "1.0.0",
  "description": "A simple Node.js app",
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  },
  "dependencies": {  // 生产环境依赖项,使用npm install安装
    "express": "^4.18.2"
  },
  "devDependencies": {  // 开发环境依赖项,使用npm install --save-dev安装
    "nodemon": "^2.0.22"
  }
}

在本地执行npm install(无–production参数)时,npm 会:

  • 先安装 dependencies 中的所有生产环境包(如express、@prisma/client)。
  • 再安装 devDependencies 中的所有开发环境包(如nodemon、prisma)。
    因此,在开发环境中,你可以同时使用两类依赖:既可以用express写接口(生产依赖),也可以用nodemon自动重启服务(开发依赖)。
    当执行npm install –production(或部署平台默认执行该命令,如 Vercel、Netlify)时,npm 会:
  • 只安装 dependencies 中的生产环境包,完全忽略devDependencies。
  • 因此,生产环境中只能使用生产依赖,开发依赖不会被安装,也无法使用。

这种依赖分离的设计是为了兼顾开发效率和生产环境的精简性:

  • 开发阶段:需要所有工具和核心依赖来提升效率,比如用typescript编译代码、用nodemon自动重启服务,同时也要用到核心的业务依赖(如express)。
  • 生产阶段:只需要保证项目能正常运行的核心依赖即可,剔除开发工具可以:
    • 减少部署包的体积(节省服务器 / 平台空间)。
    • 降低依赖被攻击的风险(开发依赖可能包含更多测试 / 调试代码,没必要暴露在生产环境)。
    • 提升项目启动和运行的性能。