我正在学习gulp源代码,并尝试编写一个gulp插件。
现在我对某事感到困惑。
这是我的插件代码:
though2.obj()
这是gulp源代码中创建vinyl
文件的部分:
https://github.com/gulpjs/vinyl-fs/blob/master/lib/src/wrap-with-vinyl-file.js
MY CONFUSION:
在file
注册的transformFunction
会收到一个vinyl
个对象,该对象应该是vinyl.isVinyl()
个文件。
为什么false
会返回file
?
为什么_isVinyl
对象没有<?php
echo '<form method = "post" action = "http://localhost:8080/sample.php">';
for($a = 0; $a < 3; $a++){
echo '<input type = "text" name = "box"></br>';
}
echo'<input type = "submit" name = "submit" value = "submit">';
if(isset($_POST['submit'])){
$square = $_POST['box'];
echo $square;
}
echo'</form>';
?>
属性?
答案 0 :(得分:4)
这是您在Github上查看的$webhookNotification->subscription
和vinyl-fs
版本以及vinyl
和vinyl-fs
本地vinyl
安装的哪个版本的问题正在使用。
您可能通过输入以下内容从npmjs.com
安装gulp:
gulp
目前安装了gulp版本$ npm install --save-dev gulp
。您可以使用npm ls
查看gulp的3.9.1
版本的vinyl-fs
和vinyl
取决于哪个版本。{3}}。这是该命令的(缩写)输出:
3.9.1
因此└─┬ gulp@3.9.1
└─┬ vinyl-fs@0.3.14
└─┬ vinyl@0.4.6
取决于gulp@3.9.1
而vinyl-fs@0.3.14
取决于vinyl-fs@0.3.14
。
以下是GitHub上这些版本的链接:
https://github.com/gulpjs/vinyl-fs/tree/v0.3.14
https://github.com/gulpjs/vinyl/tree/v0.4.6
正如您在GitHub vinyl@0.4.6
上看到的那样,不具有vinyl@0.4.6
属性。仅限较新版本,例如._isVinyl
have this property。
由于vinyl@1.2.0
使用gulp@3.9.1
发出乙烯基文件,因此您的gulp安装程序发出的乙烯基文件不具有vinyl@0.4.6
属性。这就是._isVinyl
函数在您的示例中返回vinyl.isVinyl()
的原因。
当前development version for the upcoming gulp 4.0使用false
。如果您前往install that version of gulp,则示例中的vinyl@1.2.0
电话会返回vinyl.isVinyl()
。