在Rails中命名React组件文件时,领先的下划线有何不同?

时间:2015-11-27 03:08:30

标签: ruby-on-rails reactjs react-rails

我刚开始使用React中的Rails

当我遇到其他RailsReact个应用时,我发现其中一些应用会在*.js.*中命名/app/assets/javascripts/components/个文件时添加一个前导下划线。
例如Sample React Rails App

组件文件如:

_comment.js.jsx

虽然有些人不这样做, 例如Account React Rails App

组件文件如:

record.js.coffee

那么添加领先的下划线会有什么不同?

我知道在Rails视图中,使用前导下划线命名*.html.erb文件意味着它可以重用,我们可以调用render方法来呈现它。但此处*.js.* components.js文件需要//= require_tree ./components from bs4 import BeautifulSoup from urllib.request import urlopen nfl = 'http://www.fantasypros.com/nfl/adp/overall.php' html = urlopen(nfl) soup = BeautifulSoup(html.read(), "lxml") table = soup.find('tbody').find_next('tbody') playername = table.find('td').find_next('td') for row in table: print(playername) 。所以即使你删除下划线,也没有区别。我相信这是“重用”组件的唯一部分。

1 个答案:

答案 0 :(得分:0)

//= require_tree ./components中有application.js。我认为用引号下划线命名它们确实没有任何区别。

然后我认为可能与Rails 资产管道有关,因为实际上 sample-react-rails-app <中需要component个文件重复/ strong>即可。下划线可能是为了避免在预先发布时出现重复。

我已尝试删除这些文件中的前导下划线并在本地运行应用程序(我也在dev env中进行资源管道预编译)。事实证明,即使您删除了前导下划线,这些文件的预编译仍然没有重复,应用程序可以正常工作。事实上,即使您require文件重复,资产管道也只会包含同一个文件。

总之,领先的下划线对您的应用的工作方式没有任何影响。它可能是部分命名后的命名约定,如 Rails视图 SASS编译Rails Issues #3094中也提到了这一点。一般来说,我认为约定值得告诉自己和你的团队这些文件是不完整的部分。