首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >异步等待+ Gulp - GulpUglifyError:无法缩小JavaScript?

异步等待+ Gulp - GulpUglifyError:无法缩小JavaScript?
EN

Stack Overflow用户
提问于 2017-10-12 08:27:02
回答 2查看 2.9K关注 0票数 1

这是我的文件里的一部分:

代码语言:javascript
复制
gulp.task('compile-js', function () {
    // app.js is your main JS file with all your module inclusions
  return browserify({
    extensions: ['.js', '.jsx'],
    entries: 'javascripts/app.js',
    debug: true
  })
  .transform('babelify', { presets: ['es2015', 'react'] })
  .bundle()
  .pipe(source('bundle.min.js'))
  .pipe(buffer())
  .pipe(sourcemaps.init())
  .pipe(uglify())
  .pipe(sourcemaps.write('./maps'))
  .pipe(gulp.dest('dist'))
  .pipe(livereload())
})

在我的javascripts/app.js

举个例子,我有:

代码语言:javascript
复制
async function write () {
    var txt = await read();
    console.log(txt);
  }

我知道这个错误:

代码语言:javascript
复制
GulpUglifyError: unable to minify JavaScript

这是我的package.json的一部分:

代码语言:javascript
复制
  "dependencies": {
    "animate.css": "^3.5.2",
    "aos": "^2.2.0",
    "autosize": "^4.0.0",
    "axios": "^0.16.2",
    "es6-docready": "^1.0.0",
    "foundation-icon-fonts": "^0.1.1",
    "foundation-sites": "^6.4.3",
    "gulp-clean-css": "^3.9.0",
    "gulp-cssimport": "^5.1.1",
    "jquery": "^3.1.1",
    "jquery-ui-bundle": "^1.12.1",
    "material-design-icons": "^3.0.1",
    "swiper": "^3.4.2",
    "vue": "^2.4.4"
  },
  "repository": {
    "type": "git",
    "url": "[git-url-of-your-project]"
  },
  "devDependencies": {
    "babel-preset-es2015": "^6.16.0",
    "babel-preset-react": "^6.16.0",
    "babelify": "^7.3.0",
    "browserify": "^14.3.0",
    "browserify-shim": "^3.8.12",
    "gulp": "^3.9.1",
    "gulp-clean-css": "^3.0.4",
    "gulp-clone": "^1.0.0",
    "gulp-concat": "^2.6.0",
    "gulp-concat-css": "^2.3.0",
    "gulp-cssimport": "^5.0.0",
    "gulp-foreach": "^0.1.0",
    "gulp-htmlmin": "^3.0.0",
    "gulp-less": "^3.3.2",
    "gulp-livereload": "^3.8.1",
    "gulp-sourcemaps": "^1.6.0",
    "gulp-uglify": "^2.1.2",
    "streamqueue": "^1.1.1",
    "vinyl-buffer": "^1.0.0",
    "vinyl-source-stream": "^1.1.0"
  },

对于ES6,我还应该添加到我的吞咽过程中吗?

编辑:

因此,按照babel 文档 for es2017:

我安装了:

代码语言:javascript
复制
npm install --save-dev babel-preset-es2017

改变了我的吞咽文件:

代码语言:javascript
复制
...
.transform('babelify', {
    presets: ['es2015', 'es2017', 'react'],

编译过程中没有任何错误,但在浏览器上运行代码时,浏览器控制台上会出现此错误:

代码语言:javascript
复制
Uncaught ReferenceError: regeneratorRuntime is not defined
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-12 09:53:20

gulp uglify也有类似的问题,正如我所发现的,基gulp-uglify似乎不支持缩小异步/等待,所以我切换到了巴别化,它对我起了作用。

编辑:对于regeneratorRuntime is not defined错误,我认为再生器-运行时可能会有所帮助。

票数 3
EN

Stack Overflow用户

发布于 2018-12-01 10:12:48

我已经解决了这个问题

.pipe(uglify()) by .pipe(minify())

https://www.npmjs.com/package/gulp-minify

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

https://stackoverflow.com/questions/46704849

复制
相关文章

相似问题

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