节点JS缩小
根据定义对JavaScript进行缩小处理基本上只是删除空格和注释。在此基础上,为什么Nodejs是关于ECMA5或ECMA6代码是否必需的语言规范?为什么不运行缩小器并通过删除空格和注释来缩小代码。为什么我需要打扰我的代码是写入ECMA5还是6?节点JS缩小
在此先感谢。
根据定义对JavaScript进行缩小处理基本上只是删除空格和注释。
我不知道你引用了哪个“定义”。缩小比例是多,比挤压出空白多得多。 Minifiers解析整个数据源以进行高级缩减。显然,要做到这一点,他们必须知道他们正在解析的语法。如果他们不知道ES6语法,他们将无法解析ES6输入。为了缩小ES6,你必须选择一个支持ES6的缩小器。
感谢您的回复,但您能否举一些例子说明除了删除需要遵守语言规范的空白空间和评论外,还有哪些额外的功能。 – ramasCoder
有很多很多的例子。一个非常简单的就是'真'成为'!'。另一个是“if(false){LONG_PIECE_OF_CODE}”被完全删除。当然,这些都不是ES6特有的,但都需要解析代码,并且缩小器只能解析它所知道的语法。 – 2017-07-17 11:38:13
为什么你认为ES版本很重要? – Lazyexpert
我的代码库是ECMA5&6的混合体。我使用了gulp-uglify,它给出了进一步发现的错误,因为我们使用了ECMA6语言规范,这种规范不能缩小。 – ramasCoder
你使用uglify作为后端? – Lazyexpert