如何用Grunt对不同文件夹和子文件夹中的文件进行重命名,并动态地标注版本号?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用Grunt对不同文件夹和子文件夹中的文件进行重命名,并动态地标注版本号?相关的知识,希望对你有一定的参考价值。

我有一个如下结构。

    src/
..
..

    target/
        projecta/
            css/
                vendor/
                    bootstrap.css
                               ..
                              ..

                d3.min.css
                nv.d3.min.css
                ..
                ..

            js/
                app/
                   js/
                      controllers/
                                  test.js
                               ..
                              ..

                      services/
                               application-service.js
                               ..
                              ..
                    main.js

我想运行一个 grunt 任务来重命名目标文件夹和子文件夹中的所有文件,其中有 js、css 和 html 文件。

我试过使用 grunt-cache-bust,但只有第一层的文件夹在更新,但我需要积极地更新目标文件夹内的所有子文件夹。

编辑

  • 希望的文件名post append - bootstrap-1.0.0.css。
  • 我们希望按照上述所需的文件名格式更新所有的文件,而不是文件夹。
  • 版本号可以从package.json中获取。
  • 我们需要在应用程序上更新新添加的文件名格式的参考资料。
答案

我希望你在这里真正想要的是把你的构建文件复制到一个 dist 文件夹,并沿途重命名。grunt-contribut-copy 会这样做,而 process 选项可以为你重新命名你的文件。

你可以从 package.json 使用 读包

因此,你应该能够将这两个部分拼接在一起,以实现你的目标。

另一答案
  1. 制作一个新的js文件,在那里你可以 步调一致 pacakge获取递归Dir结构的所有路径。
  2. 借用 路径 包,你可以从walk-sync中得到文件路径解析。
const filePath=path.resolve( walk sync file path which you already get )
  1. 借用 fs您可以将文件路径重命名为
fs.renameSync(new_file_path, filePath)

然后从grunt运行这个js文件

以上是关于如何用Grunt对不同文件夹和子文件夹中的文件进行重命名,并动态地标注版本号?的主要内容,如果未能解决你的问题,请参考以下文章

如何用bat更改文件扩展名

如何用C语言对文件进行加密和解密?急求......................

如何用一个批处理bat生成某文件夹和子文件夹下所有文件的绝对路径,分别写入到对应的txt中(一对一生成)

如何用python将行排列成csv文件的列?

C#如何用程序把文本文件打包成dll文件

如何用excel vba按关键字选择性的遍历文件夹搜索文件?