当前位置: 首页 > wzjs >正文

基于php房产网站开发产品seo怎么优化

基于php房产网站开发,产品seo怎么优化,网站设计培训费用是多少,摄影师网站文章目录 前言原理解析1. npx 的作用2. 为什么会有 node_modules/.bin/lerna3. npx 的查找顺序4. 执行流程总结1: 1. .bin 机制什么是 node_modules/.bin?例子 2. npx 的底层实现npx 是如何工作的?为什么推荐用 npx?npx 的特殊能力…

文章目录

  • 前言
      • 原理解析
      • 1. npx 的作用
      • 2. 为什么会有 `node_modules/.bin/lerna`
      • 3. npx 的查找顺序
      • 4. 执行流程
      • 总结1:
    • 1. `.bin` 机制
      • 什么是 `node_modules/.bin`?
      • 例子
    • 2. npx 的底层实现
      • npx 是如何工作的?
      • 为什么推荐用 npx?
      • npx 的特殊能力
    • 3. yarn 的机制
    • 总结2:
  • `.bin` 目录的实际内容
      • 1. `.bin` 目录的作用
      • 2. 实际内容举例
      • 3. 如何查看 .bin 目录内容
      • 4. 这些文件的作用
      • 5. 关联知识


前言

在终端执行 lerna run build 时出现了 bash: lerna: command not found 的错误。这说明当前环境下找不到 lerna 命令

那么 npx lerna run build 为什么会自动使用本地 node_modules/.bin 下的 lerna,以及其原理。


原理解析

1. npx 的作用

  • npx 是 Node.js 附带的一个命令行工具(npm 5.2+),用于临时调用项目依赖中的可执行文件(bin)。
  • 当你在项目根目录下运行 npx lerna run build 时,npx 会优先在当前项目的 node_modules/.bin 目录下查找 lerna 可执行文件。

2. 为什么会有 node_modules/.bin/lerna

  • 当你在项目的 package.json 里声明了 lerna 作为 devDependencies,并执行过 npm installyarn install 后,lerna 的可执行文件就会被自动放到 node_modules/.bin/lerna
  • 这个 .bin 目录是 npm/yarn 的标准机制,用于存放所有依赖包的命令行工具。

3. npx 的查找顺序

  • npx 会先查找本地 node_modules/.bin,如果找不到才会去全局环境查找。
  • 这样可以确保你用到的是当前项目依赖的 lerna 版本,而不是全局安装的版本,保证了版本一致性和可移植性。

4. 执行流程

  1. 你输入 npx lerna run build
  2. npx 查找 node_modules/.bin/lerna
  3. 找到后,直接调用这个本地的 lerna 执行 run build 命令
  4. lerna 会根据你的 monorepo 配置,依次在各个包下执行 build 脚本

总结1:

  • npx 让你无需全局安装 lerna,也不用关心 PATH 配置,直接用本地依赖的 lerna。
  • 这样做可以保证团队协作时每个人用的 lerna 版本一致,避免“在我电脑上没问题”的情况。

下面一步步详细讲解 npm/yarn 的 .bin 机制和 npx 的底层实现原理。

1. .bin 机制

什么是 node_modules/.bin

  • 当你用 npm 或 yarn 安装依赖时(无论是全局还是本地),如果某个包的 package.json 里有 "bin" 字段,npm/yarn 会自动把这些可执行文件的快捷方式(Windows 下是 .cmd 文件,Unix 下是软链接)放到当前项目的 node_modules/.bin 目录下。
  • 这样你就可以在命令行里直接运行这些工具,而不用写完整路径。

例子

比如你安装了 lerna 作为 devDependencies:

npm install lerna --save-dev

此时会生成:

node_modules/.bin/lerna.cmd   # Windows 下的可执行脚本
node_modules/.bin/lerna       # Unix 下的软链接

这些文件实际上会调用 node_modules/lerna/cli.js 或类似的入口文件。


2. npx 的底层实现

npx 是如何工作的?

  • 当你运行 npx lerna run build 时,npx 会在以下路径顺序查找 lerna
    1. 当前目录下的 node_modules/.bin
    2. 全局安装的包
  • 找到后,npx 会直接调用这个可执行文件(比如 node_modules/.bin/lerna.cmd),并把后面的参数传递给它。

为什么推荐用 npx?

  • 保证你用的是当前项目依赖的版本,而不是全局的,避免版本冲突。
  • 不需要全局安装,团队协作更方便。

npx 的特殊能力

  • 如果本地没有找到命令,npx 还可以临时下载并执行(但一般不推荐这样用,除非你明确需要)。

3. yarn 的机制

  • yarn 也会自动在 node_modules/.bin 生成可执行文件。
  • 当你用 yarn run xxx 时,yarn 会自动把 node_modules/.bin 加入 PATH 环境变量,确保可以直接调用本地依赖的命令。

总结2:

  • node_modules/.bin 是 npm/yarn 自动生成的可执行文件目录,方便你直接运行依赖包的命令行工具。
  • npx 会优先使用本地 .bin 里的命令,保证项目一致性。
  • 这套机制极大地方便了前端工程化和团队协作。

.bin 目录的实际内容

下面详细说明 .bin 目录的实际内容,并演示如何查看和理解它。

1. .bin 目录的作用

node_modules/.bin 目录用于存放所有依赖包(无论是本地依赖还是全局依赖)声明的可执行命令的快捷方式。这样你可以直接在命令行中运行这些工具,而不用写完整路径。


2. 实际内容举例

假设你的项目依赖了 lernats-jestjest 等包,执行完 npm installyarn install 后,node_modules/.bin 目录下会出现如下内容(以 Windows 为例):

d:\001-study\js\getting-started-example\node_modules\.bin\
│
├── lerna.cmd
├── lerna
├── jest.cmd
├── jest
├── ts-jest.cmd
├── ts-jest
└── ...(其他依赖的可执行文件)
  • .cmd 文件是 Windows 下的批处理脚本,方便在命令行直接调用。

在这里插入图片描述

  • 没有扩展名的文件是 Unix/Linux 下的可执行软链接或 shell 脚本。.ps1 是 PowerShell 脚本,给 PowerShell 用的。
    在这里插入图片描述

3. 如何查看 .bin 目录内容

你可以在项目根目录下运行以下命令查看:

dir node_modules\.bin

或者更详细地查看所有文件:

dir node_modules\.bin /a

4. 这些文件的作用

  • 这些文件实际上是指向各自依赖包的入口文件(如 node_modules/lerna/cli.js)。
  • 当你在命令行输入 lernajest 时,系统会自动在 node_modules/.bin 里查找并执行对应的脚本。

5. 关联知识

  • 当你用 npx lernayarn run lerna 时,实际上就是调用了 node_modules/.bin/lerna
  • 这样可以保证你用的是本地依赖的版本,而不是全局安装的版本。

http://www.dtcms.com/wzjs/390119.html

相关文章:

  • 响应式商品展示的网站营销策划主要做些什么
  • 怎么查域名注册商seo互联网营销培训
  • 新浪微博 搭建网站站长是什么级别
  • 企业宣传网站在哪里做怎么办网站平台
  • 湖南人力资源网官网前端优化网站
  • 产品网站建设必要性建网站建设
  • 盐城市城南新区建设局网站营业推广促销
  • 建设安全施工网络平台关键词seo是什么
  • 网站制作郑州抖音搜索关键词推广
  • 盘锦微商网站建设上饶seo博客
  • 公司申请网站建设的工作方案网络营销策划的流程
  • 上海个人做网站seoul是什么意思
  • 泰安网络营销网站建设外链平台有哪些
  • 深圳网站建设评价seo顾问什么职位
  • 在线A视频做爰网站潍坊seo建站
  • 免费做简历的网站百度seo优化哪家好
  • 金华网站建设行业竞价排名规则
  • 制作图片压缩包小璇seo优化网站
  • 郑州网站防恶意竞价点击软件
  • 昆山做网站费用的网站建设
  • 同城配送网站建设磁力天堂
  • 哈尔滨网站建设效果手机网站免费客服系统
  • 网站建设公司 知乎个人网站怎么做
  • 如何制作自己的微信公众号百度seo关键词优化
  • 穷游网站 做行程 封面微信管理软件
  • 佛山网站建设公司有哪些?推广app赚钱
  • 多少钱算敲诈勒索百度关键词优化多少钱
  • 东营免费网站制作关键词搜索引擎优化推广
  • 腾讯云云服务器官网seo排名优化培训怎样
  • 网站推广seo蜘蛛屯优化排名北京seo如何排名