为什么html-minifier告诉我:未知选项“–minifyJS”?

题:

我在全球安装了html-minifier uglify-js ,并安装了html-minifier

HTML的缩小工作正常,但是当我添加--minifyJS来缩小JavaScript以及它失败,并出现以下错误:

  error: unknown option `--minifyJS' 

我做错了什么?


码:

 html-minifier --input-dir ./viewsCopy --output-dir ./views-minified --collapse-whitespace --html5 --minifyJS 

参考:

https://www.npmjs.com/package/html-minifier


OUTPUT

 <% include ../partials/header %> <div class="backgroundLogin"><div class="alertMessage"> <% if (errors.length > 0) { for (var i = 0; i < errors.length; i++) {%> <div class="alert alert-danger"> <%= errors[i].msg %> </div> <% } }%> </div><div class="alertMessage"><span class="alert alert-success containerMargins" id="successDiv"></span> <span class="alert alert-danger containerMargins" id="errorDiv"></span></div><div class="alertMessage"> <% if (success_msg != false){ %> <span class="alert alert-success containerMargins"> <%= success_msg %> </span> <% } %> <% if (error_msg != false){ %> <span class="alert alert-danger containerMargins"> <%= error_msg %> </span> <% } %> </div><div class="containerMargins"><h1 class="authTitle">Login</h1><form id="loginForm"><div class="form-group"><label>Email</label><input type="email" class="form-control" name="email" id="loginEmail" placeholder="You can't forget it :)" required></div><div class="form-group"><label>Password</label><input type="password" class="form-control" name="password" id="loginPassword" placeholder="We hope you didn't forget it ^^" required minlength="12"></div><div class="g-recaptcha" data-sitekey="6LcRrxMUAAAAANx-AXSdRLAo4Pyqfqg-1vuPSJ5c"></div><button class="btn btn-default" id="loginButton">Submit</button> <span class="userLinks"><a class="logLinks" href="/users/register">Register</a><a href="/users/password">Password?</a></span></form></div></div> <% include ../partials/indexScripts %> <script>$("#loginForm").submit(function(e) { e.preventDefault(); var email = $("#loginEmail").val(); var password = $("#loginPassword").val(); $this = $(this); $.ajax({ type: "POST", url: "login", data: $this.serialize() }).done(function(data) { if (data == true) { firebase.auth().signInWithEmailAndPassword(email, password ).then( authData => { var pendingRef = firebase.database().ref('pending/'+authData.uid.toString()); var userRef =firebase.database().ref('users/'+authData.uid.toString()); pendingRef.once('value', function(snapshot){ if(snapshot.val() == null) { localStorage.setItem("success_msg_local2", "You have logged in"); ("Success1 "); window.location.href="/fun/index"; } else { if (authData.emailVerified) { userRef.set(snapshot.val()); pendingRef.remove(); localStorage.setItem('success_msg_local2', 'You have logged in'); ("Success2"); window.location.href="/fun/index"; } else { firebase.auth().signOut().then(function() { localStorage.setItem('error_msg_local', 'Please confirm your email address. Check your inbox.'); window.location.href="/users/login"; ("Login Failed: ", error); }, function(error) { }); } } }); },function(error) { var errorCode = error.code; var errorMessage = error.message; localStorage.setItem('error_msg_local', "Unknown user or password"); window.location.href="/users/login"; ("Login Failed: ", errorMessage, errorCode); }); } else { localStorage.setItem('error_msg_local', 'Recaptcha failed'); window.location.href = "/users/login"; } }); });</script> 

看看文档,看起来该命令应该是--minifyJS ,但是,我已经快速浏览了html-minifier--help页面,它指示了以下内容;

 --minify-js [value] Minify Javascript in script elements and on* attributes (uses uglify-js) 

在哪里[value]应该被设置为true

你的最终命令应该是

 html-minifier --input-dir ./viewsCopy --output-dir ./views-minified --collapse-whitespace --html5 --minify-js true 

出现这将不会压缩jQuery如果一个HTML文件的一部分,所以它可能是有利的把JavaScript放在一个外部文件,或者也许替代缩小器可能能够实现你的愿望。