gpt4 book ai didi

javascript - gulp 错误 : unable to minify JavaScript

转载 作者:行者123 更新时间:2023-11-30 06:51:34 25 4
gpt4 key购买 nike

我收到这个让我抓狂的错误:

events.js:154
throw er; // Unhandled 'error' event
^
GulpUglifyError: unable to minify JavaScript
at createError (/Users/berretan/Documents/Projects/promo-brochure/node_modules/gulp-uglify/lib/create-error.js:6:14)
at wrapper (/Users/berretan/Documents/Projects/promo-brochure/node_modules/gulp-uglify/node_modules/lodash/_createHybrid.js:87:15)
at trycatch (/Users/berretan/Documents/Projects/promo-brochure/node_modules/gulp-uglify/minifier.js:26:12)
at DestroyableTransform.minify [as _transform] (/Users/berretan/Documents/Projects/promo-brochure/node_modules/gulp-uglify/minifier.js:76:19)
at DestroyableTransform.Transform._read (/Users/berretan/Documents/Projects/promo-brochure/node_modules/readable-stream/lib/_stream_transform.js:159:10)
at DestroyableTransform.Transform._write (/Users/berretan/Documents/Projects/promo-brochure/node_modules/readable-stream/lib/_stream_transform.js:147:83)
at doWrite (/Users/berretan/Documents/Projects/promo-brochure/node_modules/readable-stream/lib/_stream_writable.js:347:64)
at writeOrBuffer (/Users/berretan/Documents/Projects/promo-brochure/node_modules/readable-stream/lib/_stream_writable.js:336:5)
at DestroyableTransform.Writable.write (/Users/berretan/Documents/Projects/promo-brochure/node_modules/readable-stream/lib/_stream_writable.js:274:11)
at DestroyableTransform.ondata (/Users/berretan/Documents/Projects/promo-brochure/node_modules/readable-stream/lib/_stream_readable.js:546:20)

我不知道错误来自哪里。但是看看我的文件夹结构:

enter image description here

现在:我有这 4 个文件:

<script src="assets/scripts/vendor/siteconfig.js"></script>
<script src="assets/scripts/vendor/responsive-tags.js"></script>
<script src="assets/scripts/vendor/tealium-video.js"></script>
<script src="assets/scripts/vendor/tealium.js"></script>

以及 html 上的这些引用 block :

enter image description here

如您所见,有 2 个引用 block 。如果我将这 4 个文件从这些 block 中取出,当我运行 gulp build 时一切顺利,但在实时环境中,我在这些文件上得到 404。但是,如果我将文件放在这 2 个引用 block 中,就会出现上面提到的错误。

这是我的 gulp 配置的一部分:

//Require specific modules
var gulp = require('gulp');
var del = require('del');
var get = require('get-value');
var $ = require('gulp-load-plugins')();
var multimatch = require('multimatch');
var bs = require("browser-sync").create();
var assemble = require('assemble');
var app = assemble();
var guppy = require('git-guppy')(gulp);
var gutil = require('gulp-util');
var watch = require('gulp-watch');
var helpers = require('handlebars-helpers')();
var runSequence = require('run-sequence');

gulp.task('captions:dist', function() {
gulp.src('app/assets/captions/**/*')
.pipe(gulp.dest('dist/assets/captions'));
});

//Copy Task for assets that needs to be moved to /dist on build task
gulp.task('copy:vendorjs', ['clean:dist'], function(){
return gulp.src(['app/assets/scripts/vendor/jquery-2.1.4.min.js'])
.pipe(gulp.dest('dist/assets/scripts/vendor'));
});

//Lint task
gulp.task('eslint', function() {
return gulp.src(['app/{assets,components,pages}/**/*.js', '!app/assets/scripts/vendor/**'])
.pipe($.eslint())
.pipe($.eslint.format())
.pipe($.eslint.failAfterError());
});

gulp.task('pre-commit', function () {

var filterVendorJs = ['app/**/*.js', '!app/assets/scripts/vendor/*'];
var filesToTest = multimatch(guppy.src('pre-commit'), filterVendorJs);

return gulp.src(filesToTest)
.pipe($.plumber())
.pipe($.eslint({ rulePaths: ['/'], configFile: '.eslintrc'}))
.pipe($.eslint.format())
.pipe($.eslint.failAfterError());
});

//Assemble load task
gulp.task('load', function(cb) {

//Set main assemble options
app.option('layout', 'default');
app.layouts('app/layouts/*.hbs');
app.pages('app/pages/**/*.hbs');
app.partials('app/components/**/*.hbs');
app.engine('hbs', require('engine-handlebars'));
app.data(['app/{pages,components,data}/**/*.json']);

cb();
});

//Assemble main task
gulp.task('assemble', ['load'], function(){
return app.toStream('pages')
.pipe(app.renderFile())
.pipe($.extname())
.pipe($.flatten())
.pipe($.plumber())
.pipe(app.dest('.tmp'));
});

gulp.task('assemble:dist', ['load', 'clean:dist'], function(){
return app.toStream('pages')
.pipe(app.renderFile())
.pipe($.extname())
.pipe($.flatten())
.pipe($.plumber())
.pipe(app.dest('dist'));
});

gulp.task('usemin', ['assemble:dist', 'sass:dist'], function() {
return gulp.src('dist/**/*.html')
.pipe($.foreach(function (stream) {
return stream
.pipe($.plumber())
.pipe($.usemin({
cssvendor: [$.cssnano()],
css: [$.cssnano()],
jsvendor: [$.uglify()],
js: [$.uglify()]
}))
.pipe(gulp.dest('dist/'));
}));

});

//Serve the site from .tmp directory
gulp.task('default', ['assemble', 'sass', 'fonts', 'notify:server'], function(){

var globs = [
'.tmp/**/*.html',
'.tmp/assets/styles/{,*/}*.css',
'.tmp/assets/**/*.js',
'app/assets/images/{,*/}*.*'
];
});


//Serve the site from the dist directory
gulp.task('default:dist', function(){
bs.init({
notify: false,
port: 9000,
server: {
baseDir: ['dist']
}
});
});

gulp.task('build', ['sass:dist', 'usemin', 'images', 'fonts:dist', 'copy:vendorjs','captions:dist'], function(){
});

有什么建议吗?

最佳答案

可能是你的 javascript 文件有语法错误。例如用 jslint.com 检查它。

关于javascript - gulp 错误 : unable to minify JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42678835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com