美文网首页前端拾遗
npm scripts中命令行工具来源问题

npm scripts中命令行工具来源问题

作者: 就叫初九吧 | 来源:发表于2017-04-15 17:26 被阅读2次

在package.json中有如下配置

 "scripts": {
        "test": "echo \"this is babel study \" && exit 1",
        "build": "babel src -d lib"
  }

这里以 build中的 babel为例说明一下babel来自那个版本。
npm会在node_modules目录下建一个名为 .bin 的目录

babel_d1.png
该目录存放的是软链接symlink
babel-d2.png
npm在将包安装到项目时,如果包是一个命令行工具,那么npm会在该目录为 
工具创建一个链接到安装目录的软链接symlink

npm在执行scripts的时候会将node_modules/.bin/ 临时添加到 PATH environment variable中去。
所以,此处运行

npm run build

时babel使用的是安装到项目中的babel版本。
这样做的好处是

保证了在不同项目中使用同一个工具时,可以使用工具的不同版本

参考
https://firstdoit.com/no-need-for-globals-using-npm-dependencies-in-npm-scripts-3dfb478908

更多内容可以参考http://www.ruanyifeng.com/blog/2016/10/npm_scripts.html

相关文章

  • npm scripts中命令行工具来源问题

    在package.json中有如下配置 这里以 build中的 babel为例说明一下babel来自那个版本。np...

  • Node.js下通配符使用笔记

    npm scripts bash命令行实现方法 一 nodejs通配符法 nodejs通配符补充知识 参考正则中*...

  • 在构建时我们为何会忽略掉npm

    在构建时我们为何会忽略掉npm? 人们认为npm scripts需要强大的命令行技巧 人们认为npm script...

  • package.json字段解释

    scripts字段:运行命令行命令的缩写。执行时直接执行 npm run keyName。{ "sc...

  • express node.js express

    安装: 新版本中命令行工具分家了 npm install-g express//安装 express 然后 npm...

  • 前端环境搭建(react)

    1.执行 npm init 生成package.json文件,并将scripts中修改为: "scripts": ...

  • npm、npm scripts

    1、 如何全局安装一个 node 应用? 上述命令执行之后将会在当前的目录下创建一个 node_modules 的...

  • npm scripts

    在一定程度是,你无论如何都要使用npm,而同时npm提供了脚本功能,所以你在命令行中使用的命令都可以在 npm S...

  • npm scripts

    待续

  • npm scripts

    就是执行shell命令,有些场景可以适合用这个辅助功能 1、项目的相关脚本,可以集中在一个地方。2、不同项目的脚本...

网友评论

    本文标题:npm scripts中命令行工具来源问题

    本文链接:https://www.haomeiwen.com/subject/dxtoattx.html