我正在写一个gulp任务,我拿几个js文件,连接它们,缩小那些..与scss一样进入css等…正常的东西
而且,它适用于Drupal 8
这是我的gulpfile.但是在运行时,我不断收到以下错误:
[10:00:58] Starting 'scripts'... events.js:160 throw er; // Unhandled 'error' event ^ RangeError: Maximum call stack size exceeded at Object.TreeWalker._visit (eval at <anonymous> (/Applications/MAMP/htdocs/novaent/node_modules/uglify-js/tools/node.js:1:0),<anonymous>:1255:21) 'use strict';
以下是我的gulp文件
// Include gulp. var gulp = require('gulp'); var browserSync = require('browser-sync').create(); var config = require('./config.json'); // Include plugins. var sass = require('gulp-sass'); var imagemin = require('gulp-imagemin'); var pngcrush = require('imagemin-pngcrush'); var shell = require('gulp-shell'); var plumber = require('gulp-plumber'); var notify = require('gulp-notify'); var autoprefix = require('gulp-autoprefixer'); var glob = require('gulp-sass-glob'); var uglify = require('gulp-uglify'); var concat = require('gulp-concat'); var rename = require('gulp-rename'); var sourcemaps = require('gulp-sourcemaps'); // sassOptions are optional but things like sourceComments (line_comments) can be pretty handy. var sassOptions = { errLogToConsole: true,outputStyle: 'compressed',sourceComments: 'line_comments',includePaths: config.css.includePaths }; // CSS. gulp.task('css',function() { return gulp.src(config.css.src) .pipe(glob()) .pipe(plumber({ errorHandler: function (error) { notify.onError({ title: 'Gulp',subtitle: 'Failure!',message: 'Error: <%= error.message %>',sound: 'Beep' })(error); this.emit('end'); }})) .pipe(sourcemaps.init()) .pipe(sass(sassOptions).on('error',sass.logError)) .pipe(autoprefix('last 2 versions','> 1%','ie 9','ie 10')) .pipe(sourcemaps.write('./maps')) .pipe(gulp.dest(config.css.dest)) .pipe(browserSync.reload({stream: true,injectChanges: true,match: '**/*.css'})); }); // Compress images. gulp.task('images',function () { return gulp.src(config.images.src) .pipe(imagemin({ progressive: true,svgoPlugins: [{removeViewBox: false}],use: [pngcrush()] })) .pipe(gulp.dest(config.images.dest)); }); // Fonts. gulp.task('fonts',function() { return gulp.src(config.fonts.src) .pipe(gulp.dest(config.fonts.dest)); }); // javaScripts gulp.task('scripts',function() { return gulp.src(config.js.src) .pipe(concat('index.js')) .pipe(gulp.dest(config.js.dest)) // outputs *.js without min .pipe(rename({suffix: '.min'})) .pipe(uglify()) .pipe(gulp.dest(config.js.dest)) // outputs *.js.min .pipe(notify({message: 'Rebuild all custom scripts'})); }); // Watch task. gulp.task('watch',function () { gulp.watch(config.css.src,['css']); gulp.watch(config.fonts.src,['fonts']); gulp.watch(config.js.src,['scripts']); gulp.watch(config.images.src,['images']); }); // Static Server + Watch gulp.task('serve',['css','fonts','watch'],function () { browserSync.init({ proxy: config.proxy }); }); // Run drush to clear the theme registry. gulp.task('drush',shell.task([ 'drush cache-clear theme-registry' ])); // Default Task gulp.task('default',['serve']);
解决方法
我想我已经解决了以下问题
'use strict'; // Include gulp. var gulp = require('gulp'); var browserSync = require('browser-sync').create(); var config = require('./config.json'); // Include plugins. var sass = require('gulp-sass'); var imagemin = require('gulp-imagemin'); var pngcrush = require('imagemin-pngcrush'); var shell = require('gulp-shell'); var plumber = require('gulp-plumber'); var notify = require('gulp-notify'); var autoprefix = require('gulp-autoprefixer'); var glob = require('gulp-sass-glob'); var uglify = require('gulp-uglify'); var concat = require('gulp-concat'); var rename = require('gulp-rename'); var sourcemaps = require('gulp-sourcemaps'); var sassOptions = { errLogToConsole: true,includePaths: config.css.includePaths }; var uglifyOptions = { preserveComments: 'license',warnings: 'true' }; // CSS. gulp.task('css',function() { return gulp.src(config.fonts.src) .pipe(gulp.dest(config.fonts.dest)); }); // Concat all js files into one index.min.js file gulp.task('scripts',function() { return gulp.src(config.js.src) .pipe(concat('./js/index.js')) .pipe(gulp.dest('./js/')) .pipe(rename({suffix: '.min'})) .pipe(uglify(uglifyOptions)) .pipe(gulp.dest('./assets/dist/')) .pipe(notify({message: 'Rebuild all custom scripts. Please refresh your browser'})); }); // Watch task. gulp.task('watch','scripts',['serve']);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。