Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

是否存在与 yog2 release 相对的 clean 命令来清理 yog 目录? #181

Open
599316527 opened this issue Oct 13, 2017 · 7 comments

Comments

@599316527
Copy link

599316527 commented Oct 13, 2017

按照官方文档里说法,我把项目 Home 和 yog 文件同级,然后在 Home 目录下 yog2 release 把文件导出到 yog 目录运行。

不知道是不是我的使用姿势不对,在使用中碰到了一些问题,即每次 release ,对于 Home 目录中已经改名或者删除的文件,yog 目录中还是存在且能被访问,这就导致了开发过程中要人肉去 yog 目录下删除文件,常常因为没有删干净而导致 Home 中的依赖路径是错误的但在 yog 中还能被访问到,知道最终上线时拉代码库里代码来 release 才发现引用的路径不对。

这个问题文字描述起来有点无力,不妨举个例子:假如存在 Home/server/action/aaa.js,release 之后,yog目录下存在文件 app/Home/action/aaa.js;如果此时把 Home 中的 aaa.js 改为 bbb.js,再次 release,则 yog 目录下同时存在 aaa 和 bbb,而希望的结果是只存在 bbb;如果还存在 ccc 依赖 aaa,而修改 aaa 变为 bbb 时忘记修改 ccc 依赖到 bbb,因为 aaa 也存在,本地调试时不会抛错,错误依赖关系未被发现;又或未意识到错误引用,调试时在 bbb 上修改无法反映到 ccc 上,让人崩溃。

因为 release 到 yog 目录的文件众多,又分布在不同的文件夹中,人肉清理非常不方便。因此就想知道是否存在类型 yog2 clean 的命令可以自动清除指定项目在 yog 目录下的 release 产出的文件?

或者,进一步的,在每一次 release 时,都先清空 yog 项目中文件,保证 yog 中的文件没有历史遗留。

@zhiqiang21
Copy link

yog2 release -c clean compile cache。

@599316527
Copy link
Author

好的

@599316527
Copy link
Author

啊 不对吧,试了没有达到我说的清理 yog/ 下的文件的目录呀。

看了代码,-c 清理的是 .yog2-tmp (就是 fis 的临时文件目录) 吧,跟我的需求不是一回事儿

@599316527 599316527 reopened this Oct 16, 2017
@zhiqiang21
Copy link

是的我也试了下,它并不会清除发布目录下的文件。那就手动去发布目录删除吧,或者是写个脚本

@599316527
Copy link
Author

官方不打算加这个功能吗?感觉在 release 时自动清理前一次 release 产出的文件比较合理

@eugeneCN
Copy link

"scripts": {
    "del": "rimraf app && rimraf static && rimraf views && rimraf log"
},

@599316527
Copy link
Author

恩,我写了脚本来清理

function clean {
    pushd yog
    for app in "${apps[@]}"
    do
        for folder in app static views log
        do
            echo "Removing $folder/$app"
            rm -r "$folder/$app"
        done
    done
    popd
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants