国产gaysexchina男同gay,japanrcep老熟妇乱子伦视频,吃奶呻吟打开双腿做受动态图,成人色网站,国产av一区二区三区最新精品

gulp.dest()

2020-09-30 18:05 更新

gulp.dest()介紹

創(chuàng)建一個(gè)用于將 Vinyl 對象寫入到文件系統(tǒng)的流。

gulp.dest()用法

const { src, dest } = require('gulp');

function copy() {
  return src('input/*.js')
    .pipe(dest('output/'));
}

exports.copy = copy; 

gulp.dest()函數(shù)原型

dest(directory, [options])

參數(shù)

參數(shù)類型描述
directory
(required)
string
function
將寫入文件的輸出目錄的路徑。如果使用一個(gè)函數(shù),該函數(shù)將與每個(gè) Vinyl 對象一起調(diào)用,并且必須返回一個(gè)字符串目錄路徑。
optionsobject詳情見下文選項(xiàng)。

返回值

返回一個(gè)可以在管道的中間或末尾使用的流,用于在文件系統(tǒng)上創(chuàng)建文件。

每當(dāng) Vinyl 對象通過流被傳遞時(shí),它將內(nèi)容和其他細(xì)節(jié)寫到給定目錄下的文件系統(tǒng)。如果 Vinyl 對象具有 symlink 屬性,將創(chuàng)建符號鏈接(symbolic link)而不是寫入內(nèi)容。創(chuàng)建文件后,將更新其元數(shù)據(jù)以匹配 Vinyl 對象。

在文件系統(tǒng)上創(chuàng)建文件時(shí),Vinyl 對象將被修改。

  • cwd、base 和 path 屬性將被更新以匹配創(chuàng)建的文件。
  • stat 屬性將被更新,以匹配文件系統(tǒng)上的文件。
  • 如果 contents 屬性是一個(gè)流,它將被重置,以便可以再次讀取。

可能出現(xiàn)的錯(cuò)誤

當(dāng)目錄為空字符串時(shí),將拋出一個(gè)錯(cuò)誤,并提示 "Invalid dest() folder argument. Please specify a non-empty string or a function."(無效的 dest() 文件夾參數(shù)。請指定非空字符串或函數(shù)。)

當(dāng)目錄不是字符串或函數(shù)時(shí),將拋出一個(gè)錯(cuò)誤,并提示 "Invalid dest() folder argument. Please specify a non-empty string or a function."

當(dāng) directory 是一個(gè)返回空字符串或 undefined 的函數(shù)時(shí),將發(fā)出一條錯(cuò)誤消息 “Invalid output folder”。

選項(xiàng)

對于接受函數(shù)的選項(xiàng),傳遞的函數(shù)將與每個(gè) Vinyl 對象一起調(diào)用,并且必須返回另一個(gè)列出類型的值。

名稱類型默認(rèn)值注解
cwdstring
function
process.cwd()這個(gè)目錄將與任何相對路徑相結(jié)合以形成絕對路徑。對于絕對路徑忽略。用于避免將 directory 與 path.join() 相結(jié)合。
modenumber
function
stat.mode of the Vinyl object創(chuàng)建文件時(shí)使用的模式。如果沒有設(shè)置,并且缺少 stat.mode,則使用 process' 模式。
dirModenumber
function
創(chuàng)建目錄時(shí)使用的模式。如果沒有設(shè)置,將使用 process' 模式。
overwriteboolean
function
true如果為 true,則用相同的路徑覆蓋現(xiàn)有文件。
appendboolean
function
false如果為 true,則將內(nèi)容添加到文件末尾,而不是替換現(xiàn)有內(nèi)容。
sourcemapsboolean
string
function
false如果為 true,則將內(nèi)聯(lián) sourcemaps 寫入輸出文件。指定一個(gè) string 路徑將在給定路徑上寫入外部 sourcemaps 。
relativeSymlinksboolean
function
false當(dāng)為false 時(shí),創(chuàng)建的任何符號鏈接將是絕對的。
注意: 如果正在創(chuàng)建連接,則忽略它們,因?yàn)樗鼈儽仨毷墙^對的。
useJunctionsboolean
function
true此選項(xiàng)僅適用于 Windows,在其他地方被忽略。當(dāng)為 true 時(shí),創(chuàng)建目錄符號鏈接作為連接(junction)。詳情請見下文 Symbolic links on Windows

元數(shù)據(jù)更新

每當(dāng) dest() 流創(chuàng)建一個(gè)文件時(shí),就會(huì)將 Vinyl 對象的 mode、mtime 和 atime 與創(chuàng)建的文件進(jìn)行比較。如果它們不同,創(chuàng)建的文件將被更新以反映 Vinyl 對象的元數(shù)據(jù)。如果這些屬性相同,或者 gulp 沒有更改的權(quán)限,則會(huì)跳過該嘗試。

在不支持 Node 的 process.getuid()或 process.geteuid() 方法的 Windows 或其他操作系統(tǒng)上禁用此功能。這是因?yàn)閃indows通過使用 fs.fchmod() 和 `fs.futimes() 會(huì)產(chǎn)生意想不到的結(jié)果。

注意: fs.futimes() 在內(nèi)部將 mtime 和 atime 時(shí)間戳轉(zhuǎn)換為秒。這種除以 1000 的方法可能會(huì)導(dǎo)致 32 位操作系統(tǒng)的精度有所下降。

Sourcemaps

Sourcemap 支持直接構(gòu)建到 src() 和 dest() 中,但默認(rèn)情況下是禁用的。使其能夠生成內(nèi)聯(lián)或外部 sourcemaps。

內(nèi)聯(lián) sourcemaps:

const { src, dest } = require('gulp');
const uglify = require('gulp-uglify');

src('input/**/*.js', { sourcemaps: true })
  .pipe(uglify())
  .pipe(dest('output/', { sourcemaps: true }));

外部 sourcemaps:

const { src, dest } = require('gulp');
const uglify = require('gulp-uglify');

src('input/**/*.js', { sourcemaps: true })
  .pipe(uglify())
  .pipe(dest('output/', { sourcemaps: '.' }));

Symbolic links on Windows

在 Windows 上創(chuàng)建符號鏈接時(shí),type 參數(shù)被傳遞給 Node 的 fs.symlink() 方法,該方法指定被鏈接的目標(biāo)的類型。鏈接類型設(shè)置為:

  • 'file',當(dāng)目標(biāo)是一個(gè)常規(guī)文件時(shí)
  • 'junction', 當(dāng)目標(biāo)是一個(gè)目錄時(shí)
  • 'dir', 當(dāng)目標(biāo)是一個(gè)目錄并且用戶禁用了 useJunctions 選項(xiàng)時(shí)

如果試圖創(chuàng)建 dangling (指向不存在的目標(biāo))鏈接,則無法自動(dòng)確定鏈接類型。在這些情況下,根據(jù) dangling 鏈接是通過 symlink() 創(chuàng)建的還是通過 dest() 創(chuàng)建的,行為會(huì)有所不同。

對于通過 symlink() 創(chuàng)建的 dangling 鏈接,傳入的 Vinyl 對象表示目標(biāo),因此其 stats 將確定所需的鏈接類型。如果 isDirectory() 返回 false,則創(chuàng)建一個(gè) 'file' 鏈接,否則根據(jù) useJunctions 選項(xiàng)的值創(chuàng)建一個(gè) 'junction' 或 'dir' 鏈接。

對于通過 dest() 創(chuàng)建的 dangling 鏈接,傳入的 Vinyl 對象表示鏈接——通常通過 src(..., { resolveSymlinks: false }) 從磁盤加載。在這種情況下,無法合理地確定鏈接類型,默認(rèn)使用 'file'。如果正在創(chuàng)建指向目錄的 dangling 鏈接,這可能會(huì)導(dǎo)致意外行為。避免這種情況。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號