在的WebPack,當裝載機被應用到一些文件,如:爲什麼裝載機從右到左在webpack中讀取?
require("style-loader!css-loader!less-loader!./my-styles.less");
它們從右到左的工作
。
對我來說這似乎很奇怪,這是什麼技術原因?
在的WebPack,當裝載機被應用到一些文件,如:爲什麼裝載機從右到左在webpack中讀取?
require("style-loader!css-loader!less-loader!./my-styles.less");
它們從右到左的工作
。
對我來說這似乎很奇怪,這是什麼技術原因?
這是因爲它跟在pipeline concept in unix之後,所以一個進程的輸出成爲下一個進程的輸入。由於意圖通過較少加載器首先處理my-styles.less
,所以它們被管道並排寫入(即,!)。它可能已經被執行以允許require("./my-styles.less!less-loader!css-loader!style-loader");
。兩者之間沒有任何技術上的困難。
我認爲重要的是要注意管道和組成之間的區別。在* nix的環境中,可以從管道命令,由左到右:
cat file.txt | egrep cars > output.txt
但在函數式編程,你可以撰寫功能結合在一起和功能將執行從右到左:
var fn0 = compose(divide(2), add(3));
var fn1 = pipe(add(3), divide(2));
FN 0和FN1會對他們投入同樣的效果。兩者都會首先將3加到他們的輸入中,並將該操作的輸出除以2.由於我們自然地從左到右閱讀,所以撰寫約定需要一些熟悉。
在我看來,Webpack遵循組合與管道的慣例,因爲它從右到左排列。退房Ramda的文檔進行了技術規格: