我刚开始使用React
中的Rails
。
当我遇到其他Rails
个React
个应用时,我发现其中一些应用会在*.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)
。所以即使你删除下划线,也没有区别。我相信这是“重用”组件的唯一部分。
答案 0 :(得分:0)
//= require_tree ./components
中有application.js
。我认为用引号下划线命名它们确实没有任何区别。
然后我认为可能与Rails 资产管道有关,因为实际上 sample-react-rails-app <中需要component
个文件重复/ strong>即可。下划线可能是为了避免在预先发布时出现重复。
我已尝试删除这些文件中的前导下划线并在本地运行应用程序(我也在dev env中进行资源管道预编译)。事实证明,即使您删除了前导下划线,这些文件的预编译仍然没有重复,应用程序可以正常工作。事实上,即使您require
文件重复,资产管道也只会包含同一个文件。
总之,领先的下划线对您的应用的工作方式没有任何影响。它可能是部分命名后的命名约定,如 Rails视图或 SASS编译,Rails Issues #3094中也提到了这一点。一般来说,我认为约定值得告诉自己和你的团队这些文件是不完整的部分。