2016-02-03 68 views
0

所以我已經成功地設置我的gulpfile.js來處理複製文件到'dist'文件夾,然後移到我的Windows服務器,但我好奇我如何處理文件路徑?所以我一口的樣子:吞噬和腳本文件路徑問題

var gulp = require('gulp'); 
var clean = require('gulp-clean'); 
var concat = require('gulp-concat'); 
var uglify = require('gulp-uglify'); 
var filter = require('gulp-filter'); 
var mainBowerFiles = require('main-bower-files'); 
// var imagemin = require('gulp-imagemin'); 
// var pngquant = require('imagemin-pngquant'); 
var bases = { 
    app: 'app/', 
    dist: 'dist/', 
}; 
var paths = { 
    scripts: ['ppt/scripts/**/*.js'], 
    styles: ['ppt/styles/**/*.css'], 
    html: ['ppt/views/**/*.html'], 
    assets: ['ppt/assets/**/*.png', 'ppt/assets/**/*.svg'], 
    extras: ['index.html', '404.html', 'robots.txt', 'favicon.ico'], 
}; 

var gulp = require('gulp'), 
    mainBowerFiles = require('main-bower-files'); 

gulp.task('bower', function() { 
    // mainBowerFiles is used as a src for the task, 
    // usually you pipe stuff through a task 
    return gulp.src(mainBowerFiles()) 
     // Then pipe it to wanted directory, I use 
     // dist/lib but it could be anything really 
     .pipe(gulp.dest('dist/lib')) 
}); 

// Delete the dist directory 
gulp.task('clean', function() { 
    return gulp.src(bases.dist).pipe(clean()); 
}); 
// Process scripts and concatenate them into one output file 
gulp.task('scripts', ['clean'], function() { 
    gulp.src(paths.scripts, { 
     cwd: bases.app 
    }).pipe(uglify()).pipe(concat('app.min.js')).pipe(gulp.dest(bases.dist + 'scripts/')); 
}); 
// Imagemin images and ouput them in dist 
// gulp.task('imagemin', ['clean'], function() { 
//  gulp.src(paths.images, { 
//   cwd: bases.app 
//  }).pipe(imagemin()).pipe(gulp.dest(bases.dist + 'assets/')); 
// }); 
// Copy all other files to dist directly 
gulp.task('copy', ['clean'], function() { 
    // Copy html 
    gulp.src(paths.html, { 
     cwd: bases.app 
    }).pipe(gulp.dest(bases.dist + 'views')); 
    // Copy styles 
    gulp.src(paths.styles, { 
     cwd: bases.app 
    }).pipe(gulp.dest(bases.dist + 'styles')); 
    //Copy assets 
    gulp.src(paths.assets, { 
     cwd: bases.app 
    }).pipe(gulp.dest(bases.dist + 'assets')); 
    // Copy app scripts 
    gulp.src(paths.scripts, { 
     cwd: bases.app 
    }).pipe(gulp.dest(bases.dist + 'scripts')); 
    // Copy extra html5bp files 
    gulp.src(paths.extras, { 
     cwd: bases.app 
    }).pipe(gulp.dest(bases.dist)); 
}); 
// A development task to run anytime a file changes 
gulp.task('watch', function() { 
    gulp.watch('app/**/*', ['scripts', 'copy']); 
}); 
// Define the default task as a sequence of the above tasks 
gulp.task('default', ['clean', 'scripts', 'copy']); 

在採用了棱角分明的MVC,我的index.html這臺我的腳本,第三方組件等尋路...看起來(不完整的文件,只是適用線) :

<link href="../bower_components/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet" /> 
<link href="../bower_components/angular-loading-bar/build/loading-bar.css" rel="stylesheet" /> 
<link href="../bower_components/font-awesome/css/font-awesome.min.css" rel="stylesheet" /> 
<link href="../bower_components/kendo-ui/styles/kendo.bootstrap.min.css" rel="stylesheet" /> 
<link href="../bower_components/kendo-ui/styles/kendo.common-bootstrap.min.css" rel="stylesheet" /> 
<link href="../bower_components/kendo-ui/styles/kendo.common-material.min.css" rel="stylesheet" /> 
<link href="../bower_components/kendo-ui/styles/kendo.material.min.css" rel="stylesheet" /> 
<link href="ppt/styles/main.css" rel="stylesheet" /> 

<!-- 3rd party libraries managed by Bower --> 

<script src="../bower_components/jquery/dist/jquery.js"></script> 
<script src="../bower_components/angular/angular.js"></script> 
<script src="../bower_components/bootstrap/dist/js/bootstrap.js"></script> 
<script src="../bower_components/angular-bootstrap/ui-bootstrap.js"></script> 
<script src="../bower_components/angular-bootstrap/ui-bootstrap-tpls.js"></script> 
<script src="../bower_components/angular-animate/angular-animate.js"></script> 
<script src="../bower_components/angular-aria/angular-aria.js"></script> 
<script src="../bower_components/angular-cookies/angular-cookies.js"></script> 
<script src="../bower_components/angular-loading-bar/build/loading-bar.js"></script> 
<script src="../bower_components/angular-local-storage/dist/angular-local-storage.js"></script> 
<script src="../bower_components/angular-resource/angular-resource.js"></script> 
<script src="../bower_components/angular-route/angular-route.js"></script> 
<script src="../bower_components/angular-sanitize/angular-sanitize.js"></script> 
<script src="../bower_components/angular-touch/angular-touch.js"></script> 
<script src="../bower_components/moment/moment.js"></script> 
<script src="../bower_components/angular-moment/angular-moment.js"></script> 
<script src="../bower_components/kendo-ui/js/kendo.all.min.js"></script> 
<script src="../bower_components/ng-file-upload-shim/ng-file-upload-shim.min.js"></script> <!-- for no html5 browsers support --> 
<script src="../bower_components/ng-file-upload/ng-file-upload.min.js"></script> 
<script src="../bower_components/checklist-model/checklist-model.js"></script> 
<script src="../bower_components/angular-validation-match/dist/angular-validation-match.js"></script> 


<!-- Load app main script --> 
<script src="ppt/scripts/app.js"></script> 

<!-- Load services --> 
<script src="ppt/scripts/services/authInterceptorService.js"></script> 
<script src="ppt/scripts/services/authService.js"></script> 
<script src="ppt/scripts/services/pptService.js"></script> 
<script src="ppt/scripts/services/claimsService.js"></script> 
<script src="ppt/scripts/services/swipesService.js"></script>  
<script src="ppt/scripts/services/recurService.js"></script>   
<script src="ppt/scripts/services/tokensManagerService.js"></script> 
<script src="ppt/scripts/services/docsService.js"></script> 
<script src="ppt/scripts/services/ordersService.js"></script> 
<script src="ppt/scripts/services/errorService.js"></script> 
<script src="ppt/scripts/services/utilsService.js"></script> 
<script src="ppt/scripts/services/cardsService.js"></script> 
<script src="ppt/scripts/services/mobileAppService.js"></script> 

<!-- Load controllers --> 
<script src="ppt/scripts/controllers/indexController.js"></script> 
<script src="ppt/scripts/controllers/infoController.js"></script> 
<script src="ppt/scripts/controllers/homeController.js"></script> 
<script src="ppt/scripts/controllers/pptController.js"></script> 
<script src="ppt/scripts/controllers/pptProfileController.js"></script> 
<script src="ppt/scripts/controllers/logreg/loginController.js"></script> 
<script src="ppt/scripts/controllers/logreg/signupController.js"></script> 
<script src="ppt/scripts/controllers/logreg/forgotController.js"></script> 
<script src="ppt/scripts/controllers/claims/claimsController.js"></script> 
<script src="ppt/scripts/controllers/claims/swipeController.js"></script> 
<script src="ppt/scripts/controllers/claims/recurController.js"></script>  
<script src="ppt/scripts/controllers/docs/docsController.js"></script> 
<script src="ppt/scripts/controllers/orders/ordersController.js"></script> 
<script src="ppt/scripts/controllers/orders/orderController.js"></script> 
<script src="ppt/scripts/controllers/refreshController.js"></script> 
<script src="ppt/scripts/controllers/tokensManagerController.js"></script> 
<script src="ppt/scripts/controllers/associateController.js"></script> 
<script src="ppt/scripts/controllers/cards/cardsController.js"></script> 
<script src="ppt/scripts/controllers/mobileapp/mobileAppController.js"></script> 
<!-- Load custom filters --> 
<!-- Load custom directives --> 

這表示說,什麼是理解設置尋路所以它工作時,在「DEST」文件夾「的最佳方式?我儘量保留一些相對的東西。對此有何想法?

非常感謝。

我知道這只是一個添加'dist'的問題,但我希望吞噬將它作爲一項任務來處理。

回答

-1

將所有../bower_componentsppt更改爲dist