0

我正在使用 React、React Hardware ([ https://github.com/iamdustan/react-hardware/] ) 和 Johnny-Five 和 Particle Photon。当我运行我的 lib/app.js 文件时,会出现以下错误堆栈:

# Fatal error in ../deps/v8/src/api.cc, line 1062
# Check failed: !value_obj->IsJSReceiver() || value_obj->IsTemplateInfo().
#

==== C stack trace ===============================

    0   node                                0x00000001008c5ecd v8::base::debug::StackTrace::StackTrace() + 19
    1   node                                0x00000001008c4be5 V8_Fatal + 233
    2   node                                0x0000000100146438 v8::Template::SetAccessorProperty(v8::Local<v8::Name>, v8::Local<v8::FunctionTem
plate>, v8::Local<v8::FunctionTemplate>, v8::PropertyAttribute, v8::AccessControl) + 0
    3   serialport.node                     0x00000001044ab098 SerialportPoller::Init(v8::Local<v8::Object>) + 248
    4   serialport.node                     0x00000001044a98ed init + 1201
    5   node                                0x00000001007c681a node::DLOpen(v8::FunctionCallbackInfo<v8::Value> const&) + 860
    6   node                                0x000000010016a808 v8::internal::FunctionCallbackArguments::Call(void (*)(v8::FunctionCallbackInfo<
v8::Value> const&)) + 340
    7   node                                0x00000001001b1fdf v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespa
ce)::HandleApiCallHelper<false>(v8::internal::Isolate*, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::Heap
Object>, v8::internal::Handle<v8::internal::FunctionTemplateInfo>, v8::internal::Handle<v8::internal::Object>, v8::internal::BuiltinArguments)
+ 915
    8   node                                0x00000001001b15b9 v8::internal::Builtin_Impl_HandleApiCall(v8::internal::BuiltinArguments, v8::int
ernal::Isolate*) + 281
    9   ???                                 0x00000a3cdd6043a7 0x0 + 11256528389031
    10  ???                                 0x00000a3cdd80a246 0x0 + 11256530510406
[1]    69327 illegal hardware instruction  node lib/app.js

这有点令人费解,因为我不知道硬件应该如何工作。

这是我的 src/app.js:

import React, {Component} from 'react';
import ReactHardware from 'react-hardware';

import five from 'johnny-five';
import Particle from 'particle-io';

class BlinkingLed extends Component {
  componentDidMount() {
    this.node = new five.Led(this.props.port);
    this.node.blink(this.props.period);
  }

  componentWillReceiveProps(nextProps) {
    if (this.props.period !== nextProps.period) {
      this.node.blink(nextProps.period);
    }
  }


  render() {
    return null;
  }
}

BlinkingLed.defaultProps = {
    port: 13,
    period: 500,
  };

ReactHardware.render(
  <BlinkingLed port={11} period={500} />,
  new five.Board({
        io: new Particle({
        token: process.env.PARTICLE_TOKEN,
        deviceId: process.env.PARTICLE_DEVICE_ID
    })
  }),
  (inst) => {
    console.log('Rendered <%s />', BlinkingLed.name);
  }
);

这是我的 package.json 在下面。请注意,我在 JSX 中使用了 Brunch、Babel 和 React:

{
  "name": "react-particle",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "build": "babel src -d lib"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "johnny-five": "^0.10.7",
    "particle-io": "^0.14.0",
    "react": "15.0.0-rc.1",
    "react-hardware": "^0.5.0-alpha.2"
  },
  "devDependencies": {
    "babel-cli": "^6.24.1",
    "babel-preset-env": "^1.3.2",
    "babel-preset-react": "^6.24.1"
  }
}
4

1 回答 1

0

罪魁祸首是react-hardware。我能够隔离错误消息的发生。该错误仅在我需要时发生react-hardware

于 2017-04-10T16:39:36.707 回答