Node.js 下手写笔突然不工作

Stylus Suddenly Not Working Under Node.js

我和一位同事在我们正在 Node.js 中处理 运行 的站点上的 Stylus 中遇到了一个莫名其妙的错误。这是我机器上的错误:


Error: [path]/buffet_modifiers.styl:308
   304| .quantities-update-button {
   305|   background: #ECE2F4;
   306|   border: 1px solid #D3B6EB;
   307|   color: #653D9A;
 > 308|   margin-right: ($spacing/2);
   309|   padding: $spacing;
   310|   border-radius: ($spacing/2);
   311| }

cannot perform $spacing / 2

对于我和我的同事,任何时候我们 运行 对 Stylus 变量进行数学运算时,我们都会收到此错误。我们在节点 0.8.26 和 0.10.29 下都收到错误 运行ning。现在,这是奇怪的部分:

此时我们都很困惑。有没有人 运行 以前做过这样的事情?问题可能出在我们的环境上,或者是只有我们办公室的其他人才有机会了解的项目的一些细微差别。但是,如果其他人看到 Stylus 突然出现这种情况 link,请问是什么原因造成的,您是如何解决的?

我会删除这个问题,除非它已经有一个赞成票,所以我猜其他人也有这个问题? :-)

将我们两个项目共有的子项目中的 Stylus 版本从 0.34.1 更新到 0.38.0 似乎已经成功。这里仍有许多悬而未决的问题(发生了什么变化?子项目是否总是指向旧版本的 Stylus,如果是,为什么它现在开始在床上乱扔垃圾?如果没有,谁恢复到旧版本Stylus 的版本?为什么它似乎仍然对我们的同事有效?),但这些与我们本地设置的细微差别非常明显。如果您自己看到了这一点,请在您的项目中寻找使用 Stylus 的其他内容,并尝试使用较新的版本。


编辑:

为了进一步说明,该错误是由我们的项目正在使用的 nib 的更新触发的。如果你发现这个追逐一个类似的错误,请检查你的项目是否使用了 nib 的版本“*”;如果是这样,请将其固定到 v.1.0.4 或更早版本以防止冲突。我不明白为什么 nib 更新会触发我们的错误;它引入的 Stylus 版本比我们使用的版本更新,并且没有被更新到 1.1.0 的版本修改,这似乎把我们搞砸了。尽管如此,将 nib 版本定义为 1.0.4 让我们的东西再次工作,所以一定有某种 Rube Goldberg 蝴蝶效应在起作用。