【问题标题】:Error using gulp with bundle - HTML parsing error将 gulp 与 bundle 一起使用时出错 - HTML 解析错误
【发布时间】:2016-01-30 20:31:57
【问题描述】:

所以我得到了这个非常简单的 gulp 任务:

var gulp = require('gulp');
var source = require('vinyl-source-stream');
var browserify = require('browserify');

gulp.task('browserify', function() {
    return browserify({ entries: ['main.js'] })
        .bundle()
        .pipe(source('bundle.js'))
        .pipe(gulp.dest('dist'));
});

gulp.task('default', ['browserify']);

这应该只是将browserify 我的main.js 转换为bundle.js,然后将其存储在dist 文件夹中。 问题是,似乎 gulp 在解析 HTML 时不喜欢它,因为我收到了这个错误:

events.js:85 投掷者; // 未处理的“错误”事件 ^ 错误:解析文件 C:\Dev\react_wkspc\main.js: Unexpected token (5:2)

我的 main.js 也很基础:

var React = require('react');
var ReactDOM = require('react-dom');

ReactDOM.render(
  <h1>First test of react!</h1>,
  document.getElementById('container');
);

错误似乎来自 &lt;h1&gt;First test of react!&lt;/h1&gt;, 这一行,我相信这是使用 React 的正确方法,因为它与 the official React doc 是相同的脚本

我也试过babelify 和这个脚本:

var gulp = require('gulp');
var source = require('vinyl-source-stream');
var babelify = require('babelify');
var browserify = require('browserify');

gulp.task('browserify', function () {
  browserify({
    entries: 'main.js',
    extensions: ['.js'],
    debug: true
  })
  .transform(babelify)
  .bundle()
  .pipe(source('bundle.js'))
  .pipe(gulp.dest('dist'));
});

gulp.task('default', ['browserify']);

得到同样的错误

SyntaxError: C:/Dev/react_wkspc/main.js: Unexpected token (5:2)

【问题讨论】:

  • 你需要 Babel 才能使用 JSX 和 Browserify。
  • 编辑了帖子:也不使用 babel
  • 你需要使用 react 预设设置 babel。

标签: javascript reactjs gulp


【解决方案1】:

我能读到的缺少的步骤是

  • 添加 babelify
  • 确保您还安装了正确的 babel 预设,以便可以正确解析您的源代码。

这是我的一个项目的一个例子,b 是 browserify

function bundleShare(b, output) {
  return b
    .transform(babelify.configure({
      presets: ["es2015", "react"]
    }))
    .bundle()
    .pipe(source(output))
    .pipe(gulp.dest('./wwwroot/assets'));
}

在我的 json 包中,我有以下开发依赖项

"

babel-preset-es2015": "^6.3.13",
"babel-preset-react": "^6.3.13",
"babelify": "^7.2.0",

【讨论】:

  • 在我的第二个脚本中,我厌倦了使用 babelify 却没有成功。我目前正在阅读有关此的内容,显然我必须配置一个 .babelrc 文件。有什么想法可以吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-29
  • 2013-08-04
  • 2010-11-16
  • 1970-01-01
  • 2021-01-25
  • 1970-01-01
  • 2014-06-08
相关资源
最近更新 更多