我刚刚开始学习React in Rails。
当我看到其他Rails应用程序使用React时,我发现其中一些应用程序在/app/assets/javascripts/components/中命名*.js.*文件时添加了一个前导下划线。
组件文件类似于:
_comment.js.jsx而有些则没有,例如帐户反应Rails应用程序
组件文件类似于:
record.js.coffee那么添加前导下划线有什么区别呢?
我知道在Rails视图中,用前导下划线命名一个*.html.erb文件意味着它是一个可以重用的部分,我们调用render方法来呈现它。但是在这里,*.js.*文件是components.js和//= require_tree ./components所需要的。所以,即使你去掉下划线,也没有什么区别。我相信这是“重用”组件的唯一部分。
发布于 2015-11-29 07:41:20
因为//= require_tree ./components在application.js。我认为用带引线的下划线来命名它们并没有什么区别。
然后,我认为这可能与Rails 资产管道有关,因为实际上component文件在中是重复的。下划线可能是为了避免重复时的预演。
我已经尝试删除这些文件中的前导下划线,并在本地运行该应用程序(同时,我在dev env中对资产管道进行了预编译)。事实证明,即使你删除了前面的下划线,对这些文件的预编译仍然不会被复制,而且应用程序运行良好的。事实上,资产管道只包含同一文件一次,即使您重复使用该文件。
总之,领先的下划线对应用程序的工作方式没有任何影响。这可能是继部分命名之后的命名约定,类似于、Rails视图、或SASS编译,这在Rails问题#3094中也提到过。一般来说,我认为这个惯例值得遵循,告诉你自己和你的团队,这些文件是不完整的。
https://stackoverflow.com/questions/33949720
复制相似问题