0

ファイル内のテキストを置き換えるために gulp-replace-taskを使用しようとしていindex.phpます。.htmlこれは、ファイル内で実行できることはわかっていますが.css、ファイル.js内で動作させることはできないよう.phpです。

誰か助けてくれませんか?

これは私のコードです:

gulp.task('header', function() {

return gulp.src(rootPath + 'templates/header.php')

    .pipe(replace({
        patterns: [{
            json: {
                'main.css': 'style.css'
            }
        }]
    }))
    // Save the hashed css file
    .pipe(gulp.dest(rootPath + 'templates/header.php'));
});
4

1 に答える 1

1

「json」オブジェクトを使用して検索/置換する代わりに、以下の gulpfile.js で RegEx 構文を使用します。build/php/templates/header.php置き換えられたテキストが含まれていることになります。

<?php
    $color = "blue";
?>
<head>
    <link rel="stylesheet" src="style.css">
</head>
<body>
    Your color is <?php echo $color; ?>
<body>

gulpfile.js

var gulp = require('gulp')
var replace = require('gulp-replace-task')

var config = {
   src : 'src/php/**/*',
   build: 'build/php'
}

gulp.task('build', function(cb) {
   gulp.src(config.src)
      .pipe(replace({
         patterns: [
            {
               match: /COLOR/,
               replacement: 'blue'
            },
            {
               match: /main.css/,
               replacement: 'style.css'
            }
         ]
      }))
      .pipe(gulp.dest(config.build))

   cb()
})

gulp.task('watch', function(cb) {
   gulp.watch(config.src, ['build']) 
})

gulp.task('default', ['build', 'watch'])

header.php

<?php
    $color = "COLOR";
?>
<head>
    <link rel="stylesheet" src="main.css">
</head>
<body>
    Your color is <?php echo $color; ?>
<body>

プロジェクト ファイルの構造

$ tree -I node_modules
.
├── build
│   └── php
│       └── templates
│           └── header.php
├── gulpfile.js
├── package.json
└── src
    └── php
        └── templates
            └── header.php

6 directories, 4 files
于 2015-12-01T20:36:59.053 に答える