有没有办法让js-beautify处理javascript“//”注释?
实施例
socket.on('user_online', function(data){
document.getElementById("online").innerHTML = "ONLINE USERS (" + data + ")";
});
//Add the online users to the list one by one
chatCount = 0;
socket.on('user-list-append', function(data){
将成为此
socket.on('user_online', function(data){
document.getElementById("online").innerHTML = "ONLINE USERS (" + data + ")";
});
//Add the online users to the list one by one chatCount = socket.on('user-list-append', function(data){
他们不会在评论后自动创建新行,因为他们可能不知道评论的结束位置。
我可以简单地将“//”替换为“/ * ... * /”,但我只是好奇是否有更好的方法来解决这个问题,例如他们可能有一些选择来应用
更新#1:
lib:https://github.com/beautify-web/js-beautify/tree/master/js/lib
尝试将以下代码复制粘贴到http://jsbeautifier.org/中,您可以看到我的意思。
socket.on('user_online', function(data){ document.getElementById("online").innerHTML = "ONLINE USERS (" + data + ")"; }); //Add the online users to the list one by one chatCount = 0; socket.on('user-list-append', function(data){
在Word变形或缩小的JavaScript的“//”注释后,是否有任何选项可以让lib知道在哪里创建新行?
答案 0 :(得分:0)
您的第一个代码块和您建议我们从中复制到测试的代码块(第三个代码块)不包含相同的代码。在解释以“//”开头的注释时,回车是一个非常重要的特征。
这不是关于beautify-js的问题。这里真正的问题是你是如何创建第三块代码的?你不能只是将所有的线路一起运行并期望它能够工作。
第三段代码不是有效的javascript。如果您已经使用了第一个代码块并使用了uglify-js,那么就不再有注释了。需要进行相当多的解释才能在一行或几行上完全运行js。它会考虑的其他事情是只有回车符结束的行才需要插入分号等。
在这种特殊情况下,beautify-js做了什么是完全正确的。具体来说,当遇到“//”时,所有其余字符到行尾必须被解释为注释。这正是它所做的,这就是javascript应该被解释的方式。