【问题标题】:Watch file for changes in package without using api.add_files()在不使用 api.add_files() 的情况下监视文件以了解包中的更改
【发布时间】:2013-12-26 15:24:10
【问题描述】:

我在 Meteorite 包中有一些手写笔 mixin,我不想用 api.add_files() 添加。相反,他们需要@imported 到包目录中的应用程序中才能访问 mixins。但是,Meteor 不会监视这些文件的更改,这使得开发和测试有点烦人(需要重新启动服务器,或者需要更改添加的文件)。

有什么方法可以让 Meteor 监视文件的变化,即使它没有直接包含在应用程序/包中?

【问题讨论】:

  • 为什么不能使用 add_files?如果 Meteor 接收到扩展程序,请尝试使用其他扩展程序。
  • @matb33 Meteor 确实通过 stylus 和 @import 选择文件,但它不会监视未使用 .add_files 声明的文件是否有任何更改,它假定它们不是包的一部分。我也遇到了一些麻烦,但我只是将它们全部添加到 .add_files
  • @matb33 我的手写笔文件中有一些变量用?=(默认等于)声明。这些变量用于设置一些全局样式。这个想法是用户可以设置这些变量,然后导入包手写笔文件,以便他们可以覆盖全局设置变量。我意识到这对于 mixins 来说不是必需的,但对于依赖于变量的常规样式似乎确实是必需的。我想我可以将这些常规样式定义为用户在设置变量后必须应用到他们的body 样式而不是使用@import
  • @Akshat 是的,这几乎是我的问题。我可以将它们添加到add_files() 只是为了有助于测试的on_test 函数。我可能只是重构了手写笔,所以一切都是一个 mixin,允许用户覆盖变量,然后我可以在 on_use 中使用 add_files()

标签: meteor stylus


【解决方案1】:

(我假设您正在使用手写笔智能包来使这个答案有意义)

我建议您采用与 LESS 包推荐相同的方法:将您想要的文件重命名为 @import.stylimport,并在这些文件上也执行 add_files

此外,您可以像这样从智能包外部引用那些.stylimport 文件:

@import "/packages/name-of-your-package/thefilename.stylimport"

【讨论】:

  • 谢谢,这似乎是正确的方法。有趣的是,LESS 包实际上将.lessimport 文件注册到了依赖观察程序,只是没有对它们做任何事情:github.com/meteor/meteor/blob/devel/packages/less/plugin/… - 但是,Stylus 包对.stylimport 文件没有这样的事情,所以应用程序中的.stylimport 文件(与包相反)将不会被监视更改。也许这是 Stylus 包中的疏忽?
猜你喜欢
  • 1970-01-01
  • 2015-10-10
  • 1970-01-01
  • 1970-01-01
  • 2018-04-10
  • 2016-10-24
  • 2011-05-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多