Npm vs Yarn 之备忘大全 (3)

显而易见,经由 npm 或是 yarn 安装,并被放置在 ./node_modules 目录中的包,其二进制可执行文件可访问 ./node_modules/.bin,那么该如何从项目根目录中调用它呢?以下提供了几种方式,你可以从中任意选择一种,来达到你的目的:

为了方便举例,这里以运行 responsive-email-template(制作更好的响应式邮件模板)作为示例来作说明;其中有用到 mjml 这个库;此库被推荐的方式是在本地安装和使用;所以,要运行对应命令,你可以操作她,使用以下办法:

古老而原始的办法

在你安装 MJML 的文件夹中,你现在可以运行:

./node_modules/.bin/mjml --watch src/index.mjml -o dist/index.html

将 ./node_modules/.bin/ 添加至环境变量

export PATH="$PATH:./node_modules/.bin" mjml --watch src/index.mjml -o dist/index.html

或者使用快捷键 npm bin

$(npm bin)/mjml --watch src/index.mjml -o dist/index.html

或者利用 npm 脚本命令

// 将命令配置在 package.json 文件,使用 scripts 字段定义脚本命令 "scripts": { "mjml": "mjml --watch src/index.mjml -o dist/index.html" } // 使用之时,只需运行如下命令即可: npm run mjml

或者通过使用 npx

注意:npx 包含在 npm > v5.2,或可以分开安装。

# npm install -g npx npx mjml --watch src/index.mjml -o dist/index.html 强大如斯,npm 脚本

npm(Yarn 亦同)允许在 package.json 文件里面,使用 scripts 字段定义脚本命令。它支持通配符、变量、钩子、外部传参、支持并发 & 异步执行等等;所以,完全可以借助 npm script,打造属于自己的高效工作流。鉴于篇幅,这部分就不在这里多做赘述,具体使用以及运行原理等,可以参见 @阮一峰 所写的文章:npm scripts 使用指南。

具体例子来说,有些时候会有需求要删除 Git 仓库所有提交历史,而保留代码为当前状态;而删除 .git 文件夹可能会导致您的 git 存储库中的问题;所以可以使用另一种更为安全的办法:详见如何删除 Git 仓库所有提交历史记录。但这个操作一套打下来,不免劳神费力。那么借助 npm script,运行如下命令,一键搞定(当然命令可自行定义);如果你有需求执行更多,也可以在后面追加更多操作。

"scripts": { "clean-commit": "git checkout --orphan latest_branch && git add -A && git commit -am 'clean past commit history

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpydyd.html