移动文件后如何不更改 require_relative
How not to change require_relative after moving files
我对执行此操作的最佳方法有一些疑问:
我有文件 framework/helpers/test_helper.rb
它以行
开头
require_relative '../../framework/app_manager/app_manager'
经过一番努力后,我想重新组织 framework/helpers
文件夹并将此文件移动到
framework/helpers/test/test_helper.rb
之后我必须将此文件的第一行更改为
require_relative '../../../framework/app_manager/app_manager'
所以我的问题是 - 这是 require_relative
文件的最佳方式,所以每次将文件从一个文件夹移动到另一个文件夹时,我不需要更改 require_relative
行。
最好的方法是完全不使用 require_relative
。
将包含您需要的文件的目录放在 $LOAD_PATH
中,然后只 require
它们。
如果以后更改目录结构,只需更改设置 $LOAD_PATH
的行,而不是任何 require
行。
这就是为什么要按 ruby 的意图使用 $LOAD_PATH
,并避免使用 require_relative
。
我对执行此操作的最佳方法有一些疑问:
我有文件 framework/helpers/test_helper.rb
它以行
开头
require_relative '../../framework/app_manager/app_manager'
经过一番努力后,我想重新组织 framework/helpers
文件夹并将此文件移动到
framework/helpers/test/test_helper.rb
之后我必须将此文件的第一行更改为
require_relative '../../../framework/app_manager/app_manager'
所以我的问题是 - 这是 require_relative
文件的最佳方式,所以每次将文件从一个文件夹移动到另一个文件夹时,我不需要更改 require_relative
行。
最好的方法是完全不使用 require_relative
。
将包含您需要的文件的目录放在 $LOAD_PATH
中,然后只 require
它们。
如果以后更改目录结构,只需更改设置 $LOAD_PATH
的行,而不是任何 require
行。
这就是为什么要按 ruby 的意图使用 $LOAD_PATH
,并避免使用 require_relative
。