Stylus从错误的文件夹导入样式文件

时间:2014-09-23 17:39:39

标签: javascript node.js npm stylus

我有一个文件mobile.styl,可以通过@import收集我需要的所有样式文件:

@import '../../common/styles/colors'
@import '../../common/styles/init'


@import 'landing'
@import 'faq'
@import 'vehicle'

我有两个'landing'样式文件,一个在mobile.styl所在的当前文件夹中,另一个是这两个首次导入文件为../../common/styles/的位置。

如果我有如上所示的导入顺序,那么手写笔会导入第一个colorsinit文件,但是它会从当前文件夹landing加载mobile.styl文件{1}}是,但是来自../../common/styles/所以我得到了错误的样式文件,这是用于桌面版的。

现在,如果我将这两个导入放在文件的末尾,那么它首先正确加载landingfaqvehicle,然后将这两个文件从正确的路径加载为预期

这是一个错误还是预期的行为?

1 个答案:

答案 0 :(得分:5)

我已经处理过同样的问题了。我发现的一些解决方案是:

  • 将其中一个文件重命名为唯一的文件。
    • landing.styl更改为landing-mobile.styl
  • 将要导入的文件移动到其自己的文件夹中
    • landing.styl移至mobile/landing.styl
  • 在导入同名文件之前,从您要进入的文件夹根目录中导入文件
    • 导入empty.styl位于landing.styl旁边,然后导入landing.styl
  • 最后,您可以引用相对于上次导入文件的路径
    • 导入../../landing.styl

我按照个人喜好排列选项,但他们都应该这样做。