npm 执行脚本

熟悉 vue || npm 的童鞋都知道,nodejs脚本执行的任务大多都写在package.json中,如下图所示。不过npm的作用不仅如此,利用好之后能够很强的提高工作效率(有时候所谓提高效率也就是人懒,就得想办法让机器多做点事儿)。


执行脚本任务

node.js有两个特殊脚本任务  start  test,执行这两个任务可以简写的方式

npm run start  == npm start //# 执行"start"指定的脚本

npm run test == npm test //

其他任务不可省略,务必以 npm run 方式执行

npm run dev     //开发环境启动vue

npm run build     //打包生产环境需要文件

组合脚本任务

管道(|) || 串行(&)

熟悉gulp的都知道,gulp任务的执行类方式 管道、流 的方式,比如处理sass文件,首先将sass转换成css文件,再对css文件进行补全,之后进行压缩,然后重命名,最后输出到预设目录中。简单说就是一个任务完成之后再继续下一个任务。

当我们在执行脚本任务时可能也会有这样的需求,比如之前写过的 vue.js(SCP2)打包后自动上传到服务器 中,我直接将上传的任务写在 build.js 中,虽然能达到预想的目的,不过仔细想想这种处理方式还是不太合理(并不是每次打包后都会将服务端的文件覆盖),所以更好的方式将上传的代码单独写在一个文件中,然后在package.json中添加一个任务。

"scp_testServer": " node build/build.js | node scp/testServer.js" //管道的方式

"scp_testServer": " node build/build.js && node scp/testServer.js" //串行的方式

并行 (&)

有时候我们需要并行地执行多个命令的功能。此时使用并行符号(&)可以把子命令作为后台任务并行执行。

"scripts": {

// 并行地执行watch-js,watch-less和watch-server

"watch":"npm run watch-js & npm run watch-less & npm run watch-server",

"watch-js":"watchify app/js/main.js -t reactify -o static/bundle.js -dv",

"watch-less":"nodemon --watch app/less/*.less --ext less --exec 'npm run build-less'",

"watch-server":"nodemon --ignore app --ignore static server.js"

},

npm 不止是包管理工具,通过合理的配置任务,可以提高我们的工作效率。

参考原文:http://anders.janmyr.com/2014/03/running-scripts-with-npm.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、什么是 npm 脚本? npm 允许在package.json文件里面,使用scripts字段定义脚本命令。 ...
    猪猪9527阅读 394评论 0 0
  • 关键词:npm 定义:npm 允许在package.json文件里面,使用scripts字段定义脚本命令。 上面代...
    ferrint阅读 13,634评论 2 6
  • 什么是 NPM npm之于Node,就像pip之于Python,gem之于Ruby,composer之于PHP。 ...
    ihoey阅读 6,284评论 2 36
  • 从宣布停止发动态到现在已经有一段时间了,发现一个很有趣的事,周围越来越多的人开始放弃QQ,或者空间设置权限或者直...
    iotboy阅读 556评论 1 2
  • 古风 张纯如 温志龄 竭虑冒险披血腥,金陵虐杀惨绝伦。 宝贵史料穷挖透,慰安遗妪放悲声。 著述付梓百万册,倭寇...
    碧野牧歌阅读 328评论 0 5