当我在另一个项目中将模块导入npm时,出现ES6语法错误

我有一个模块npm,它使用的是ES6语法,当我使用npm i myModuleName时,语法导入和导出出错。

我的代码

'use strict';

import merge from 'ngraph.merge'
import createGraph from 'ngraph.graph'
import fetch from './lib/loader'

module.exports = async function convertPrecompute(graph,layout,settings){

    settings = merge(settings,{
        positionsPos: 'data/positions.bin',linksPos: 'data/links.bin',labelsPos: 'data/labels.json',});

    await Promise.all([
        fetch(settings.positionsPos,{ responseType: 'arraybuffer' }).then(toInt32Array),fetch(settings.linksPos,fetch(settings.labelsPos).then(toJson)
      ]).then(loadLayout);

    function loadLayout(data){
        let positions = data[0];
        let links = data[1];
        let labels = data[2];

        graph = initGraphFromLinksAndLabels(links,labels);

        labels.forEach(function (label,index) {
            var nodeCount = index * 3;
            var x = positions[nodeCount + 0];
            var y = positions[nodeCount + 1];
            var z = positions[nodeCount + 2];

            layout.setNodePosition(label,x,y,z);
        });
    }

    function initGraphFromLinksAndLabels(links,labels) {
        let srcIndex;

        let g = createGraph({ uniqueLinkId: false });
        labels.forEach(label => g.addNode(label));
        links.forEach(processLink);

        return g;

        function processLink(link) {
          if (link < 0) {
            srcIndex = -link - 1;
          } else {
            var toNode = link - 1;
            var fromId = labels[srcIndex];
            var toId = labels[toNode];
            graph.addLink(fromId,toId);
          }
        }
      }
}

function toInt32Array(oReq) {
    return new Int32Array(oReq.response);
}

function toJson(oReq) {
    return JSON.parse(oReq.responseText);
  }

我在带有this configuration的Browserify和yeoman的另一个项目中使用了此子模块

使用gulp serve运行应用程序时出现此错误

/home/vincenzo/GitLab/spycblock-ngraph/node_modules/ngraph.fromprecompute/index.js:12
import merge from 'ngraph.merge'
^
ParseError: 'import' and 'export' may appear only with 'sourceType: module'

如果我使用ES5更改子模块中的代码,则可以正常工作,这是我使用ES5的子模块的示例

'use strict';

let merge = require('ngraph.merge');
let createGraph = require('ngraph.graph')
let fetch = require('./lib/loader')

//Startup https://dev.to/therealdanvega/creating-your-first-npm-package-2ehf
module.exports = async function convertPrecompute(graph,toId);
          }
        }
      }
}

function toInt32Array(oReq) {
    return new Int32Array(oReq.response);
}

function toJson(oReq) {
    return JSON.parse(oReq.responseText);
  }
s1376655 回答:当我在另一个项目中将模块导入npm时,出现ES6语法错误

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3135753.html

大家都在问