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

问题描述 投票:1回答:2

我有一个如下结构。

    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中获取。
  • 我们需要在应用程序上更新新添加的文件名格式的参考资料。
javascript gruntjs file-rename grunt-rename
2个回答
0
投票

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

你可以从 package.json 使用 读包

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


0
投票
  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文件

© www.soinside.com 2019 - 2024. All rights reserved.