【发布时间】:2013-11-11 10:22:24
【问题描述】:
我已经跨越了 grunt 的这个 npm 模块的路径,github.com/ozanturgut/grunt-modules,它提供了一种在 Gruntfiles.js 中进行真正分离的方法,使其更具可读性。 但我想知道为什么不鼓励将其作为最佳实践。 有什么建议吗?
【问题讨论】:
标签: workflow npm gruntjs frontend modular
我已经跨越了 grunt 的这个 npm 模块的路径,github.com/ozanturgut/grunt-modules,它提供了一种在 Gruntfiles.js 中进行真正分离的方法,使其更具可读性。 但我想知道为什么不鼓励将其作为最佳实践。 有什么建议吗?
【问题讨论】:
标签: workflow npm gruntjs frontend modular
因为这不是 Grunt 的最佳实践。该库只是在任务之上添加了另一个抽象。这意味着如果您按照他们的规范编写模块,您的模块将只能与他们的库一起使用。从而进一步分裂社区。p>
除了grunt 之外,它还创建对grunt-modules 的对等依赖项。对等依赖项不容易管理,尤其是在对等作者没有严格遵循 semver 的情况下。在大多数情况下,甚至不需要成为同伴。
不推荐使用this.data。
Grunt 团队正在转向基于 Node.js require() 的方法。这将消除对 grunt 的对等依赖,并允许整个 node.js 生态系统使用 Grunt 任务。 Grunt 团队希望鼓励其他用户尝试效仿。
因此,仅使用require() 将帮助程序添加到您的 Gruntfile 是现在模块化 Gruntfile 的最佳方法。下一版 Grunt 的方法应该会极大地帮助用户更好地模块化他们的 gruntfile。
【讨论】: