从 npm run dev 提及

注:如下讨论是以 windows 环境为例,其余环境也是相似的流程前端

正文

在咱们写前端程序的时候常常执行这样的命令npm run dev, 那这背后的原理是什么呢?
这里涉及到package.json文件的 scripts 字段,好比下面的例子vue

"scripts": {
  "dev": "vuepress dev docs",
}

参考 npm 的文档,npm run dev 就至关于 node_modules\.bin\vuepress.cmd dev docsnode

node_modules\.bin\vuepress.cmd 是一个 windows 下的能够直接运行的批处理程序,内容以下:git

@IF EXIST "%~dp0\node.exe" (
  "%~dp0\node.exe"  "%~dp0\..\vuepress\vuepress.js" %*
) ELSE (
  @SETLOCAL
  @SET PATHEXT=%PATHEXT:;.JS;=;%
  node  "%~dp0\..\vuepress\vuepress.js" %*
)

其做用就是使用 node 来运行 node_modules\vuepress\vuepress.js 用命令来表示就是github

node node_modules\vuepress\vuepress.js dev docs

总结

1.当咱们一个项目,它的 package.json文件的 scripts 字段,好比下面的例子npm

"scripts": {
  "dev": "vuepress dev docs",
}

2.当咱们运行npm run dev的时候,其实至关于运行了json

node node_modules\vuepress\vuepress.js dev docs

为何会是 node_modules\vuepress\vuepress.js 这是由于 vuepress 包的 package.json 有以下的内容:windows

"bin": {
  "vuepress": "vuepress.js"
}

这表示了这个包会提供一个vuepress命令程序,这个程序实际执行的是 vuepress\vuepress.js 文件ide

参考

  1. https://www.npmjs.com.cn/cli/...
  2. http://steve-jansen.github.io...
相关文章
相关标签/搜索