reisraff/phulp-inject

phulp 的注入插件

1.1.0 2016-10-27 23:56 UTC

This package is auto-updated.

Last update: 2024-08-28 03:11:40 UTC


README

PHULP 提供的注入插件。

类似于 gulp-inject,但有一些修改。

安装

$ composer require reisraff/phulp-inject

使用方法

目标文件 src/index.html

每对注释都是注入占位符

<!DOCTYPE html>
<html>
<head>
  <title>App</title>
  <!-- inject:css -->
  <!-- endinject -->
</head>
<body>

  <!-- inject:js -->
  <!-- endinject -->
</body>
</html>

文件 phulpfile.php

<?php

use Phulp\Inject\Inject;

$phulp->task('inject', function ($phulp) {
    $injectionFiles = $phulp->src(['src/'], '/(js|css)$/', true);

    $phulp->src(['src/'], '/html$/')
        // injecting
        ->pipe(new Inject($injectionFiles->getDistFiles()))
        // write the html file with the injected files
        ->pipe($phulp->dest('dist/'));
});

运行 phulp inject 后的 dist/index.html

<!DOCTYPE html>
<html>
<head>
  <title>App</title>
  <!-- inject:css -->
  <link rel="stylesheet" href="css/sytle.css">
<link rel="stylesheet" href="css/style2.css">
<!-- endinject -->
</head>
<body>

  <!-- inject:js -->
  <script src="js/script.js"></script>
<script src="js/script2.js"></script>
<!-- endinject -->
</body>
</html>

选项

在构造函数中设置。

tagname : 默认: inject,用于定义全局的占位符标签名。

starttag : 默认: null,用于替换默认的开始标签

endtag : 默认: null,用于替换默认的结束标签

filterFilename : 默认: null,用于替换文件名

<?php

use Phulp\Inject\Inject;

$cssMinifier = new Inject(
  $distFiles,
  [
    'tagname' => 'replace-inject',
    'starttag' => '<-- replace-inject -->',
    'endtag' => '<-- endreplace-inject -->,
    'filterFilename' => function ($filename) {
      return 'path/' . $filename;
    },
  ]
);