我最近读了一篇很棒的文章,概述了使用Grunt / Gulp的不足之处; 而这反过来又提供了“npm脚本”方法。
最终我发现了这篇文章:http://blog.keithcirkel.co.uk/how-to-use-npm-as-a-build-tool/
我拍了一下,试图按照文章中的说明实现, 并遇到了两个问题:
问题#1:
$ npm run build:js ( actual command is: "browserify src/javascript/someModule.js" )
// ----------- Why these two lines are added to the stdout ? -------- //
> my-new-app@1.0.0 build:js /Users/elad.chen/Projects/incapsula/daedalus/new-app
> browserify src/javascript/core/sidebar.js
// --------------------------------------------------------------------
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
module.exports = function() {
console.log("hi")
};
},{}]},{},[1]);
然后我意识到npm -s, - silent甚至--loglevel标志 可以解决这个问题。
因此,如果我在控制台中键入“npm run build:js -s”,则stdout不包含 冗余日志,但是,如果我只是将其中一个标志添加到实际任务值,例如:
“build:js”:“browserify src / javascript / core / sidebar.js --silent”
我仍然可以获得额外的日志信息。
问题#2: 当我使用Gulp时,我能够轻松地添加断点并调试任何正在运行的任务,因为我正在使用Intellij Idea。
如何在使用npm脚本作为构建工具时进行调试?