解析JSON babel失败时出错

时间:2016-02-08 19:54:00

标签: reactjs gulp babeljs

当我运行gulp时,我在解析JSON时遇到错误:

Syntax Error 'C:\Path\main.js' Error while parsing JSON
at: 98
text: '{\r\n   "development":

"文本"在命令行中被截断。我尝试将输出管道传输到文件但失败了,因为错误没有显示在文件中:

Powershell cmd

gulp | Out-File C:\temp.txt -width 120

的package.json

{
  "name": "helloreact",
  "version": "1.0.0",
  "description": "",
  "main": "main.js",
  "dependencies": {
    "babel": "^6.5.1",
    "babel-plugin-react-transform": "^2.0.0",
    "babel-preset-react": "^6.3.13",
    "babelify": "^7.2.0",
    "bootstrap": "^3.3.5",
    "flux": "^2.0.3",
    "gulp": "^3.9.0",
    "gulp-concat": "^2.6.0",
    "gulp-connect": "^2.2.0",
    "gulp-eslint": "^1.1.1",
    "gulp-open": "^1.0.0",
    "gulp-sourcemaps": "^1.6.0",
    "jquery": "^2.1.4",
    "jquery-csv": "^0.8.1",
    "lodash": "^4.0.1",
    "object-assign": "^4.0.1",
    "react": "^0.13.3",
    "react-router": "^0.13.3",
    "react-tools": "^0.10.0",
    "react-transform": "0.0.3",
    "reactify": "^1.1.1",
    "redbox-react": "^1.2.2",
    "toastr": "^2.1.0",
    "vinyl-source-stream": "^1.1.0"
  },
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}

.babelrc

{
  "env": {
    "development": {
      "plugins": ["react-transform"],
      }
    }
  }
}

我的gulp任务使用babelify

gulp.task('js', function(){
  browserify(config.paths.mainJs,  { debug: true })
      .transform(babel, {presets: ["react"]})
      .transform(reactify)
      .bundle()
      .on('error', console.error.bind(console))
      .pipe(source('bundle.js'))
      .pipe(sourcemaps.init({ loadMaps: true }))
      .pipe(sourcemaps.write('./'))//TODO: not sure if this syntax is correct
      .pipe(gulp.dest(config.paths.dist + '/scripts'))
      .pipe(connect.reload())
});

2 个答案:

答案 0 :(得分:6)

尝试删除bablerc

中的额外逗号
{
  "env": {
    "development": {
      "plugins": ["react-transform"]
      }
    }
  }
}

答案 1 :(得分:2)

我的情况是:react + redux项目。我的起源.babelrc内容是



{
  "presets" : ["es2015","react"]
}




我删除" es2015"从预设和webpack工作