2017-02-12 24 views
0

我在這裏放了幾個小時,並且無法真正理解這裏發生了什麼。我嘗試concat,minify併爲我的css文件創建sourcemaps。我想要我的文件夾結構是這樣的:用css縮小的gulp源文件地圖

- Assets 
----bundles 
--------css 
----css 
----maps 
--------css 

我用了很多以下代碼的變體,但無法讓它工作。例如,當我使用以下代碼:

gulp.src("./Assets/css/*.css", { base: "." }) 
     .pipe(sourcemaps.init()) 
     .pipe(concat("./Assets/bundles/css/")) 
     .pipe(cssmin()) 
     .pipe(gulp.dest(".")) 
     .pipe(sourcemaps.write("./Assets/bundles/maps")) 
     .pipe(gulp.dest(".")); 

這將創建的文件夾的結構:

./Assets/bundles/maps/Assets/bundles/css/myFile.css.map

然而,當我使用

gulp.src("./Assets/css/*.css", { base: "." }) 
     .pipe(sourcemaps.init()) 
     .pipe(concat("./Assets/bundles/css/")) 
     .pipe(cssmin()) 
     .pipe(gulp.dest(".")) 
     .pipe(sourcemaps.write("./css")) 
     .pipe(gulp.dest(".")); 

這輸出到我的根項目文件夾一樣

./css/Assets/bundles/css/myFile.css.map

這是怎麼回事嗎?我試圖使用gulp重命名,但無法使其工作。

注:咕嘟咕嘟的版本是3.9.1

回答

0

最後我用它像這樣

gulp.src("./Assets/css/*.css", { base: "." }) 
     .pipe(sourcemaps.init()) 
     .pipe(concat("./Assets/bundles/css/")) 
     .pipe(cssmin()) 
     .pipe(gulp.dest(".")) 
     .pipe(sourcemaps.write("./Assets/bundles/maps/css", { 
      sourceMappingURL: function (file) { //This is to reference the correct paths for our map file.. 
       return "../maps/css/" + path.basename(file.path) + ".map"; //require the path module.. 
      } 
     })) 
     .pipe(rename(function (path) { 
      if (path.extname == ".map") { //Only change the paths of map files not the .min files 
       path.dirname = "./Assets/bundles/maps/css"; 
      } 
     })) 
     .pipe(gulp.dest(".")); 
相關問題