首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使闭包编译器与Grunt或Gulp一起工作

使闭包编译器与Grunt或Gulp一起工作
EN

Stack Overflow用户
提问于 2016-08-22 06:49:08
回答 1查看 594关注 0票数 0

我正试图在我计划用ES6编写的新项目上使用Google闭包编译器。我只是尝试跟随https://www.npmjs.com/package/google-closure-compiler。在完成npm安装google-闭包编译器之后,我尝试了Grunt或Gulp方法,但这两种方法对我都没有用。我只是有一个真正简单的js hello world类型的文件来测试工作流。

对于Grunt我的Gruntfile.js:

代码语言:javascript
复制
module.exports = function(grunt) {

  require('google-closure-compiler').grunt(grunt);

  grunt.initConfig({
  'closure-compiler': {
    my_target: {
      files: {
        'dest/output.min.js': ['src/js/**/*.js']
      },
      options: {
        compilation_level: 'SIMPLE',
        language_in: 'ECMASCRIPT6_STRICT',
        language_out: 'ECMASCRIPT5_STRICT',
        create_source_map: 'dest/output.min.js.map',
        output_wrapper: '(function(){\n%output%\n}).call(this)\n//# sourceMappingURL=output.min.js.map'
      }
    }
  }
});

当我“咕哝”的时候我会:

警告:承诺未定义使用-强制继续。因警告而中止。

对于Gulp,我也遵循了本教程,我的gulpfile.js如下所示:

代码语言:javascript
复制
var gulp  = require('gulp'),
    gutil = require('gulp-util');

var Promise = require('es6-promise').Promise;
var closureCompiler = require('google-closure-compiler').gulp();

gulp.task('default', function () {
  return gulp.src('./src/js/**/*.js', {base: './'})
      .pipe(closureCompiler({
          compilation_level: 'SIMPLE',
          warning_level: 'VERBOSE',
          language_in: 'ECMASCRIPT6_STRICT',
          language_out: 'ECMASCRIPT5_STRICT',
          output_wrapper: '(function(){\n%output%\n}).call(this)',
          js_output_file: 'output.min.js'
        })).on('error', gutil.log)
      .pipe(gulp.dest('./dist/js'));
});

当我不小心按照教程运行gulp时,我也遇到了承诺而不是定义的错误,但至少我能够添加ES6承诺行来修复最初的问题,但是我仍然得到:

代码语言:javascript
复制
events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: not implemented
    at Readable._read (_stream_readable.js:465:22)
    at Readable.read (_stream_readable.js:341:10)
    at Readable.on (_stream_readable.js:720:14)
    at Readable.pipe (_stream_readable.js:575:10)
    at Transform.CompilationStream._flush (/<my project directory>/node_modules/google-closure-compiler/lib/gulp/index.js:213:17)
    at Transform.<anonymous> (_stream_transform.js:130:12)
    at Transform.g (events.js:180:16)
    at Transform.emit (events.js:117:20)
    at finishMaybe (_stream_writable.js:360:12)
    at endWritable (_stream_writable.js:367:3)

对让Grunt或Gulp成功有什么帮助吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-22 11:58:15

升级您的NodeJS版本。插件假定本机承诺支持。它的工作时间可以追溯到NodeJS 0.12。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39072917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档