Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs Gulp任务反应无效映射错误_Reactjs_Browserify - Fatal编程技术网

Reactjs Gulp任务反应无效映射错误

Reactjs Gulp任务反应无效映射错误,reactjs,browserify,Reactjs,Browserify,我们在运行gulp时看到以下错误。它抱怨特定的JSX文件。DrugsModalDialog.jsx。任何评论/想法/建议都会有所帮助 C:\testUI\cdicms adr ui\node\u modules\browserify\node\u modules\browser pack\node\m odules\combine源映射\节点\模块\内联源映射\节点\模块\源映射 \lib\source map\source map generator.js:275 抛出新错误('无效映射:'+

我们在运行gulp时看到以下错误。它抱怨特定的JSX文件。DrugsModalDialog.jsx。任何评论/想法/建议都会有所帮助

C:\testUI\cdicms adr ui\node\u modules\browserify\node\u modules\browser pack\node\m odules\combine源映射\节点\模块\内联源映射\节点\模块\源映射 \lib\source map\source map generator.js:275
抛出新错误('无效映射:'+JSON.stringify({
^

错误:映射无效: {“生成”:{“行”:91123,“列”:20},“源”:“药品” jsx,“原始”:{},“名称”:null}
在SourceMapGenerator\u validateMapping[as\u validateMapping](C:\testUI\cdicm s-adr-ui\node\u模块\browserify\node\u模块\browser pack\node\u模块\combine- 源映射\节点\模块\内联源映射\节点\模块\源映射\库\源映射 \源地图生成器.js:275:15)
在SourceMapGenerator_addMapping[作为addMapping](C:\testUI\cdicms adr ui\no de_modules\browserify\node_modules\browser pack\node_modules\combine源映射\ 节点\模块\内联源映射\节点\模块\源映射\库\源映射\源映射 -generator.js:105:14)
位于C:\testUI\cdicms adr ui\node\u modules\browserify\node\u modules\browser pack \node\u modules\combine source map\node\u modules\inline source map\index.js:40:15 在Array.forEach(本机)
在Generator.addMappings(C:\testUI\cdicms adr ui\node\U modules\browserify\no de_模块\browser pack\node_模块\combine source map\node_模块\inline sour ce map\index.js:38:12)
在组合器处添加现有映射(C:\testUI\cdicms adr ui\node\U modules\browserify \node\u modules\browser pack\node\u modules\combine source map\index.js:33:18)
在Combiner.addFile(C:\testUI\cdicms adr ui\node\u modules\browserify\node\u mo dules\browser pack\node\u modules\combine source map\index.js:58:12)
在Transform.write[as\u Transform](C:\testUI\cdicms adr ui\node\u modules\bro wserify\node\u modules\browser pack\index.js:63:23)
在转换时读取(C:\testUI\cdicms adr ui\node\u modules\browserify\node\u mod ules\browser pack\node\u modules\through2\node\u modules\readable stream\lib\u stream _transform.js:184:10)
在转换时写入(C:\testUI\cdicms adr ui\node\u modules\browserify\node\u mo 模块\browser pack\node\u modules\through2\node\u modules\readable stream\lib\u strea m_transform.js:172:12)
在doWrite(C:\testUI\cdicms adr ui\node\u modules\browserify\node\u modules\bro wser包\node\u modules\through2\node\u modules\readable stream\lib\u stream\u writabl e、 js:237:10)
在writeOrBuffer(C:\testUI\cdicms adr ui\node\u modules\browserify\node\u module) es\browser pack\node\u modules\through2\node\u modules\readable stream\lib\u stream\u w ritable.js:227:5)
在Transform.Writable.write(C:\testUI\cdicms adr ui\node\U modules\browserify \节点\u模块\browser pack\node\u模块\through2\node\u模块\readable stream\li b_stream_writable.js:194:11)


这是DrugModalDialog.jsx代码

import React from 'react';
import {Modal, Button} from 'react-bootstrap';

export default class DrugsModalDialog extends React.Component
{
    constructor(props)
    {
        super(props);
        this.state = {
            showModal: false
        }
        this.open = this.open.bind(this);
        this.close = this.close.bind(this);
    }

    close() {
        this.setState({ showModal: false });
    }

    open() {
        console.log("open called");
        this.props.getDrugList();
        this.setState({ showModal: true });
    }

    render() {

    var createADRRow = function(item) {
            return (
                <tr key={item.name}>
                    <td>{item.drug}</td>
                </tr>
    );}

    var modalBody;
    if (this.props.isLoading) {
        modalBody = <span>Loading...</span>
    } else if (this.props.drugs.length == 0) {
        modalBody = <span>No drugs found</span>
    } else {
        modalBody = <table className="table table-bordered table-striped table-hover">
            <tbody>{this.props.drugs.map(createADRRow,this)}</tbody>
        </table>;
    }

    return (
        <div style={{display: 'inline'}}>
         <input style={{position: 'relative', marginLeft: '15px'}}type="button" value="View Drugs" name="viewDrugs"
            className="btn btn-default pull-right" onClick={this.open}/>
            <Modal show={this.state.showModal} onHide={this.close} bsSize="sm">
            <Modal.Header>
                <Modal.Title>Drugs</Modal.Title>
            </Modal.Header>
            <Modal.Body>
                {modalBody}
            </Modal.Body>
            <Modal.Footer>
                <Button onClick={this.close}>Close</Button>
            </Modal.Footer>
            </Modal>
        </div>
    );
}}

如果我执行了
debug:false
,则问题不会发生。显然存在与生成源映射相关的问题。

升级browserify后问题得到解决
gulp.task('js', function () {
  return browserify({entries: './src/main.jsx', extensions: ['.jsx'], debug: true})
    .transform('babelify', {presets: ['es2015', 'react']})
    .transform(envify({
      HOST_PORT: detectHostPort()
    }))
    .bundle()
    .on('error', function (err) {
      console.error(err);
      this.emit('end');
    })
    .pipe(source('bundle.js'))
    .pipe(gulp.dest(config.paths.dist + '/scripts'))
    .pipe(connect.reload());
});