1

当我丑化我的代码时,我的机器生成的 javascript 缩小版本与其他开发人员不同。我们的两个缩小代码都是正确的,但略有不同。

例如:

-            }) : (a.visible = !1, a.videoCss = b > d ? "hideLeft" : "hideRight");
+            }) : (a.visible = !1, b > d ? a.videoCss = "hideLeft" : a.videoCss = "hideRight");

验证我们都使用相同版本的 Grunt Uglify:“版本”:“0.6.0”。

4

1 回答 1

3

我以前遇到过这个问题。请记住,您的 package.json 文件将指定grunt-contrib-uglify要使用的版本;但grunt-contrib-uglify它自己的依赖项。您可能有不一致的uglify-js. 要检查这一点,请在项目的根目录(package.json 文件所在的位置)键入:

npm 列表 | grep '丑化'

输出应如下所示:

├─┬ 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 收缩包装 --dev

现在,当其他人运行 npm install - 他们应该为每个依赖项及其子依赖项获得相同的版本。

于 2015-07-10T15:03:26.893 回答