在 rails 的 bin 目录下,有一些可执行文件,你在开发过程中使用这些可执行文件来操作,从而使用项目自带的可执行文件
但是默认的 rails
命令使用的是全局的 rails ,如果我希望使用项目中的可执行文件,就需要执行 bin/rails
, 略微繁琐,所以有没有一种可以更加简单的方式呢?答案是肯定的。你可以通过在你的命令行中添加一个新的命令来实现这个效果。
具体代码如下:
funciton rx(){
if test -f "bin/rails"
then
bin/rails $*
exit
else
rails $*
fi
}
funciton yx(){
if test -f "bin/yarn"
then
bin/yarn $*
exit
else
yarn $*
fi
}
function bx(){
if test -f "bin/bundle"
then
bin/bundle $*
exit
else
bundle $*
fi
}
Code language: PHP (php)
你可以将这段代码粘贴在你的
这段代码很简单, 定义了三个新的函数,后续我们在命令行输入.bashrc
或.zshrc
文件中,从而使其在命令行启动时可用。rx
、yx
、bx
的时候,会自动调用当前目录或全局的rails
、yarn
、bundle
目录。这样你可以在任何一个目录下使用rx
命令来操作。
三个函数的结构都是一样的,首先检测当前目录下的子目录是否存在 rails 可执行文件,如果存在,就调用本地的函数,并将参数传递。如果不存在,就调用全局的函数,将参数传递。
总结
我们可以通过定义简单的一些命令,简化项目的开发。而这样的思路,你可以应用在任何一个项目中,而不仅仅是 rails 项目中。