js 学习

npm install

npm install 是 Node.js 的包管理工具 npm(Node Package Manager)中的一个命令,用于安装 Node.js 应用程序所需的所有依赖项。以下是关于 npm install 的详细解释:
基本概念:
npm:是 Node.js 的默认包管理器,用于管理 Node.js 项目中的依赖包。
依赖项:项目所依赖的外部库或模块,通常在 package.json 文件中列出。
安装位置:
本地安装:默认情况下,npm install 将模块下载并安装到当前命令行所在的目录下的 node_modules 文件夹中。例如,如果你在项目根目录下运行 npm install,那么依赖项会被安装在该目录的 node_modules 文件夹下。
全局安装:通过使用 -g 选项,如 npm install -g <module_name>,模块将被安装到全局目录中,通常位于 Node.js 的安装目录下的 node_modules 文件夹中。全局安装的模块可以在任何地方通过命令行访问。
调用方式:
本地安装:在代码中,可以通过 require() 函数直接引入本地安装的模块。例如,const myModule = require(‘myModule’)。
全局安装:通常用于命令行工具,如 grunt。全局安装的模块不能通过 require() 调用,而是直接在命令行中使用。
配置:
可以通过 npm config set global true/false 来设置是否使用全局安装模式。使用 npm get global 可以查看当前的安装模式。
例子:
npm install <module_name>:本地安装一个模块。
npm install -g <module_name>:全局安装一个模块。
其他相关信息:
npm install 会根据 package.json 文件中的依赖配置来安装所需的模块。如果 package.json 中定义了版本范围,npm 将尝试安装最新兼容的版本。
安装过程中,npm 会生成一个 理想树(idealTree),表示满足所有依赖约束的依赖关系树。然后,它会开始实际安装过程,可能会因为版本冲突等问题而调整这棵树。
安装完成后,node_modules 文件夹中将包含所有必需的依赖项,而 package-lock.json 文件将包含关于这些依赖项的确切版本信息,确保可重复的构建。
总的来说,npm install 是管理 Node.js 项目依赖的核心命令,它允许开发者轻松地获取和安装他们的应用程序所需的所有外部库和模块。

npm run build

npm run build 是一个在 Node.js 项目中常用的命令,它用于执行构建过程。这个命令通常在 package.json 文件中定义,package.json 是 Node.js 项目中的配置文件,用于定义项目的依赖、脚本、版本等信息。
在 package.json 中,scripts 部分可以包含一个 build 脚本,它通常指向一个构建工具或编译器,或者是一个自定义的脚本,用于编译源代码、处理资源、打包文件等。这个 build 脚本通常用于生产环境,也就是将源代码转换成可用于部署的最终产品。
例如,一个简单的 package.json 文件中的 scripts 部分可能看起来像这样:
“scripts”: {
“build”: “tsc && webpack --config webpack.config.js”
}
在这个例子中,build 脚本首先执行 tsc,这是 TypeScript 的编译器,用于将 TypeScript 源代码编译成 JavaScript。然后,它执行 webpack,这是一个现代 JavaScript 应用程序的静态模块打包器(module bundler),它将编译后的 JavaScript 文件打包成一个或多个 bundle,这些 bundle 可以在浏览器中加载。
要运行 npm run build,你需要在项目的根目录下打开终端(在 Windows 上是命令提示符或 PowerShell,在 macOS 或 Linux 上是 Terminal),然后输入以下命令:
npm run build
这将按照 package.json 中定义的 build 脚本来执行构建过程。构建的结果通常是一个或多个文件,它们可以被部署到服务器上,供最终用户使用。

npm run watch

npm run watch 是在Node.js项目中常用的命令,它用于启动一个监听器,监控项目中的文件变化。当项目中的JavaScript、CSS或其他文件发生变化时,watch 命令会触发相应的任务或脚本,以重新编译、打包或执行其他需要的操作,确保开发的连续性和自动化。
在使用 npm run watch 时,通常会有几个相关命令或选项与其配合使用,例如:
npm run watch-poll:这个命令会使用轮询的方式监控文件系统的变化。在某些情况下,比如在Linux系统中,使用 inotify 可能会更高效。但 watch-poll 可以跨平台工作,作为备用方案或在不支持 inotify 的环境中使用。
npm run watch &:这个命令会在后台运行 watch 任务。通过使用 & 符号,你可以将 watch 命令放入后台执行,这样即使关闭终端,监听任务也会继续运行。
npm run watch:lint:这是一个自定义的脚本,通常用于在文件变化时运行代码质量检查工具,如ESLint。
npm install concurrently --save:这是一个工具,可以帮助你并行运行多个命令。如果你的项目中有多个 watch 任务需要同时运行(例如,监听JavaScript和Less文件的变化),使用 concurrently 可以更方便地管理这些任务。
Error: EMFILE: too many open files, watch:这是一个错误信息,表明系统中打开的文件数量超过了限制。解决这个问题的方法可能包括提高系统的文件描述符限制或优化你的 watch 配置,避免不必要的文件监听。
npm run scripts:在某些情况下,可能需要运行特定的脚本或命令来配合 watch,这取决于项目的配置和需求。
onchange -i “/.js” “/.less” – n:这是一个在特定文件变化时触发命令的例子。onchange 是一个工具,可以用来监听文件系统的事件,并在指定的文件发生变化时执行命令。