国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

寫了一個requireDir的小工具,可以遍歷一個目錄,并且require目錄中的所有js文件

toddmark / 811人閱讀

摘要:多次加載同一目錄時,第一次加載的結果會進行緩存,以后再次使用去該目錄的時候會直接拿到緩存的對象而不會再次利用去讀取該目錄。

代碼在 這里
用法:因為沒有發布到npm,所以就把這個文件里面的代碼拷貝下來自己建一個模塊,比如叫require-dir.js

</>復制代碼

  1. const requireDir = require("path/to/require-dir")

第一個參數固定為__dirname,第二個參數為需要require的目錄。

多次加載同一目錄時,第一次加載的結果會進行緩存,以后再次使用requireDir去require該目錄的時候會直接拿到緩存的對象而不會再次利用fs去讀取該目錄。

假設目錄結構如下:

</>復制代碼

  1. |_src
  2. | |_lalala
  3. | |_wxdir
  4. | | |_event.js
  5. | | |_other-thing.js
  6. | |_user.js

一. 樹狀結構

將整個目錄中所有的js模塊進行迭代,返回一個對象,對象的屬性結構和目錄結構一致,如果文件夾或者文件名中有非字母數字的字符,其對應的對象屬性中則會移除該字符并且以其作為分隔進行駝峰式命名,如下面的other-thing.js

</>復制代碼

  1. const lalala = requireDir(__dirname, "path/to/lalala")

lalala的結構為,

</>復制代碼

  1. {
  2. user: require("path/to/user.js")
  3. wxdir: {
  4. event: require("path/to/event.js"),
  5. otherThing: require("path/to/other-thing.js")
  6. }
  7. }

二. 平行結構

1.依然將整個目錄的js進行迭代,只不過返回的對象不是樹狀結構,而是將它與傳入路徑的相對路徑進行分割和駝峰式命名

</>復制代碼

  1. const lalala2 = require(__dirname, "path/to/lalala", true)

lalala2的結構為

</>復制代碼

  1. {
  2. user: require("path/to/user.js"),
  3. wxdirEvent: require("path/to/event.js"),
  4. wxdirOtherThing: require("path/to/other-thing.js")
  5. }

2.自定義命名規則,第三個參數可以傳入一個對象{ nameHandler: func },func的唯一參數是一個字符串,返回值還是字符串,requireDir返回的對象的屬性則是原本的熟悉傳入func后的返回值

</>復制代碼

  1. const lalala3 = require(__dirname, "path/to/lalala", { nameHandler: i => `$${i}` })

lalala3的結構為

</>復制代碼

  1. {
  2. $user: require("path/to/user.js"),
  3. $wxdirEvent: require("path/to/event.js"),
  4. $wxdirOtherThing: require("path/to/other-thing.js")
  5. }

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/80592.html

相關文章

  • Gulp 制作寫 Demo 小工具

    摘要:更改文件名之后,在文件中寫入的代碼。控制增加前綴的版本根據頁面中的標簽及標簽中的選擇器屬性,來精簡樣式。 項目地址 既然重新學習了 Gulp,那索性就再把以前用 Gulp 寫的東西拿出來,重新寫一遍。這次寫的時候要把要點記錄下來,不然以后忘了就沒法回憶了。 因為 Gulp 現在使用沒有以前那么多了,所以就不寫復雜的應用了。這次寫一個簡單的 Demo 處理工具,只是為了把 PSD 轉成 ...

    tulayang 評論0 收藏0
  • vue+express+mongoose項目構建

    摘要:注僅做記錄使用又不舍得刪除推薦使用相關資料很多的運行環境構建基于全局安裝安裝過程略配置的淘寶鏡象全局安裝官方腳手架工具官網文檔創建項目基于模板創建創建配置按需,我除了安裝之外其他都選了運行與打包測試安裝依賴包運行打包配 注(2018-2-12):僅做記錄使用,又不舍得刪除,推薦使用koa2,koa2相關資料很多的~ 1. 運行環境構建(基于macOS Sierra 10.12.4) ...

    SKYZACK 評論0 收藏0
  • require.js 簡潔入門

    摘要:另外一個道理,一部分是依賴另一部分的,比如依賴文件的載入。其實主要做的事情就是這兩點。這里只是我虛構一個假的例子,實際應用中要根據自己的實際需求去設計構思自己的項目,再次提醒,不要為了用而用。 前言 提到require.js大多數人會說提到模塊化開發,AMD等等,其實require.js并沒有這么多復雜的概念,這里我就希望排除這些概念,從實用的角度來簡單說一下require.js是干...

    andot 評論0 收藏0
  • 基于nodejs編寫小爬蟲

    摘要:編寫異步小爬蟲在通過的課程初步了解的各大模塊之后,不禁感慨于的強大,讓我們這些前端小白也可以進行進階的功能實現,同時發現自己也已經可以通過實現一些比較日常的小功能。 nodejs編寫異步小爬蟲 在通過learnyounode的課程初步了解nodejs的各大模塊之后,不禁感慨于nodejs的強大,讓我們這些前端小白也可以進行進階的功能實現,同時發現自己也已經可以通過nodejs實現一些...

    3fuyu 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<