你如何快速将所有Jade文件转换为Pug文件?

时间:2016-07-07 09:50:12

标签: pug

Jade并没有被称为" Jade"更多。它现在被称为" Pug"。为了将旧的jade项目转换为新的pug格式,您需要将所有旧的.jade文件重命名为.pug文件。

手工制作是痛苦而乏味的,当然有更快的方法吗?

2 个答案:

答案 0 :(得分:2)

我做了这个Gulp任务,在一次点击中为我转换所有文件:)

它需要gulp-renamedel npm个插件才能运行。

如果所有的玉文件都在root gulp文件夹中(即主gulp文件所在的文件夹),请使用此方法

//Use this if all jade files are inside gulps root folder

var rename = require("gulp-rename");
var del = require('del');

gulp.task('switch-to-pug', function() {
    console.log('\nCreated:\n');
    gulp.src(['**/*.jade'])
        .pipe(rename(function(path){
            path.extname = ".pug";
            console.log(path.dirname+'/'+path.basename + path.extname+'\n');
        }))
        .pipe(gulp.dest('./'))
        .on('end', function(){
            del(['**/*.jade']).then(function(paths){
                console.log('\nDeleted:\n\n', paths.join('\n'));
            });
        });
});

如果根gulp文件夹之外的文件还要重命名,请使用此(并编辑路径以满足您的需要):

//Use this (and edit accordingly) if jade files are also found outside the root folder

var rename = require("gulp-rename");
var del = require('del');

gulp.task('switch-to-pug', function() {
    console.log('\nCreated:\n');
    gulp.src(['../**/*.jade'])
        .pipe(rename(function(path){
            path.extname = ".pug";
            console.log(path.dirname+'/'+path.basename + path.extname+'\n');
        }))
        .pipe(gulp.dest('../'))
        .on('end', function(){
            del(['../**/*.jade'], { force: true }).then(function(paths){
                console.log('\nDeleted:\n\n', paths.join('\n'));
            });
        });
});

然后运行它,它将为您更改所有文件:)

gulp switch-to-pug

答案 1 :(得分:2)

在Windows上,您可以通过以下命令递归重命名扩展名:

for /R %x in (*.jade) do ren "%x" *.pug

取自this answer

请注意,这仅适用于 Windows命令提示符。如果您尝试在Git Bash或Windows PowerShell等程序中运行此命令,则会收到错误。

如果您是Mac用户,请在 Mac终端

中使用此命令
find . -name '*.jade' | xargs rename 's/\.jade$/.pug/'