Babel 打破其他 javascript plugins/frameworks

Babel breaks other javascript plugins/frameworks

我正在使用 Zurb Fonudation 框架。当我在 src/assets/js 文件夹中放置 JavaScript 框架(例如 snap.svg 时,它会自动编译到 app.js 文件中。到目前为止,我曾尝试使用一个 jQuery 插件,但它坏了,还有一个 snap.svg 坏了。我假设这与 babel 有关。例如 snap.svg 我得到以下错误..

snap.svg.js:420 Uncaught TypeError: Cannot set property 'eve' of undefined

我试过将 snap.svg 的路径放在 config.yml 文件中,但除了 snap.svg 位于 [=21] 中的位置外,这似乎没有任何区别=]

我假设我只是没有做正确的事情。有什么想法吗?

您可以通过在构建过程中将 'ignore' 标志传递给它来告诉 babel 不要转译特定的代码片段。例如:

function javascript() {
  return gulp.src(PATHS.javascript)
  .pipe($.sourcemaps.init())
  .pipe($.babel({ignore: ['src/assets/js/snap.svg']}))
  .pipe($.concat('app.js'))
  .pipe($.if(PRODUCTION, $.uglify()
    .on('error', e => { console.log(e); })
  ))
  .pipe($.if(!PRODUCTION, $.sourcemaps.write()))
  .pipe(gulp.dest(PATHS.dist + '/assets/js'));
}

您可以在此论坛中查看有关自定义构建过程的更多信息post:http://foundation.zurb.com/forum/posts/36974-enhancing-foundation-with-bower-components