Grunt Uglify 从多个开发人员返回不同的缩小代码
Grunt Uglify returning different minified code from multiple developers
当我丑化我的代码时,我的机器会生成与其他开发人员不同的 javascript 缩小版本。我们的两个缩小代码都是正确的,但略有不同。
例如:
- }) : (a.visible = !1, a.videoCss = b > d ? "hideLeft" : "hideRight");
+ }) : (a.visible = !1, b > d ? a.videoCss = "hideLeft" : a.videoCss = "hideRight");
确认我们都在使用相同版本的 Grunt Uglify:"version": "0.6.0".
我以前 运行 遇到过这个问题。请记住,您的 package.json 文件将指定要使用的 grunt-contrib-uglify
版本;但是 grunt-contrib-uglify
有 它自己的 依赖项。您的 uglify-js
版本可能不一致。要检查这一点,请在项目的根目录(package.json 文件所在的位置)键入:
npm list | grep 'uglify'
输出应如下所示:
├─┬ grunt-contrib-uglify@0.9.1
│ ├─┬ uglify-js@2.4.23
│ │ ├── uglify-to-browserify@1.0.2
锁定顶级依赖项的子依赖项的技术是使用 npm shrinkwrap。这将生成一个名为 npm-shrinkwrap.json
的文件,该文件递归扫描您的 node_modules 目录并定义依赖项和子依赖项及其特定版本。在您的情况下,该命令可能看起来像
npm shrinkwrap --dev
现在,当其他人运行 npm install - 他们应该为每个依赖项及其子依赖项获得相同的版本。
当我丑化我的代码时,我的机器会生成与其他开发人员不同的 javascript 缩小版本。我们的两个缩小代码都是正确的,但略有不同。
例如:
- }) : (a.visible = !1, a.videoCss = b > d ? "hideLeft" : "hideRight");
+ }) : (a.visible = !1, b > d ? a.videoCss = "hideLeft" : a.videoCss = "hideRight");
确认我们都在使用相同版本的 Grunt Uglify:"version": "0.6.0".
我以前 运行 遇到过这个问题。请记住,您的 package.json 文件将指定要使用的 grunt-contrib-uglify
版本;但是 grunt-contrib-uglify
有 它自己的 依赖项。您的 uglify-js
版本可能不一致。要检查这一点,请在项目的根目录(package.json 文件所在的位置)键入:
npm list | grep 'uglify'
输出应如下所示:
├─┬ grunt-contrib-uglify@0.9.1
│ ├─┬ uglify-js@2.4.23
│ │ ├── uglify-to-browserify@1.0.2
锁定顶级依赖项的子依赖项的技术是使用 npm shrinkwrap。这将生成一个名为 npm-shrinkwrap.json
的文件,该文件递归扫描您的 node_modules 目录并定义依赖项和子依赖项及其特定版本。在您的情况下,该命令可能看起来像
npm shrinkwrap --dev
现在,当其他人运行 npm install - 他们应该为每个依赖项及其子依赖项获得相同的版本。