Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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
Javascript 如何在浏览器中捆绑和运行es6模块_Javascript_Webpack_Ecmascript 6_Babeljs_Webpack Dev Server - Fatal编程技术网

Javascript 如何在浏览器中捆绑和运行es6模块

Javascript 如何在浏览器中捆绑和运行es6模块,javascript,webpack,ecmascript-6,babeljs,webpack-dev-server,Javascript,Webpack,Ecmascript 6,Babeljs,Webpack Dev Server,我正在尝试在我的应用程序中运行es6模块库,我正在尝试在浏览器中运行。 下面是我想在浏览器中运行的app.js代码 import BpmnModdle from 'bpmn-moddle'; function hello(){ var moddle = new BpmnModdle var xmlStr = '<?xml version="1.0" encoding="UTF-8"?>' + '<bpmn:definitions xmlns:xsi="h

我正在尝试在我的应用程序中运行es6模块库,我正在尝试在浏览器中运行。 下面是我想在浏览器中运行的app.js代码

import BpmnModdle from 'bpmn-moddle';
function hello(){
    var moddle = new BpmnModdle
    var xmlStr = '<?xml version="1.0" encoding="UTF-8"?>' +
    '<bpmn:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" id="1234"><bpmn:process id="1234"><bpmn:startEvent id="2" name="StartEvent"><bpmn:outgoing>5</bpmn:outgoing></bpmn:startEvent><bpmn:task id="3" name="Task"><bpmn:outgoing>6</bpmn:outgoing><bpmn:incoming>5</bpmn:incoming></bpmn:task><bpmn:endEvent id="4" name="EndEvent"><bpmn:incoming>6</bpmn:incoming></bpmn:endEvent><bpmn:sequenceFlow id="5" name="" source="2" target="3"/><bpmn:sequenceFlow id="6" name="" source="3" target="4"/></bpmn:process><mxGraphModel><root><Workflow label="MyWorkflow" description="" href="" id="0"><mxCell/></Workflow><Layer label="Default Layer" id="1"><mxCell parent="0"/></Layer><Start label="StartEvent" id="2"><mxCell style="symbol;image=images/symbols/event.png;" vertex="1" parent="1"><mxGeometry x="150" y="200" width="80" height="60" as="geometry"/></mxCell></Start><Task label="Task" description="" href="" id="3"><mxCell style="symbol;image=images/task.PNG" vertex="1" parent="1"><mxGeometry x="340" y="190" width="100" height="80" as="geometry"/></mxCell></Task><End label="EndEvent" id="4"><mxCell style="symbol;image=images/symbols/event_end.png" vertex="1" parent="1"><mxGeometry x="550" y="200" width="80" height="60" as="geometry"/></mxCell></End><Edge label="" id="5"><mxCell style="straightEdge" edge="1" parent="1" source="2" target="3"><mxGeometry relative="1" as="geometry"/></mxCell></Edge><Edge label="" id="6"><mxCell style="straightEdge" edge="1" parent="1" source="3" target="4"><mxGeometry relative="1" as="geometry"/></mxCell></Edge></root></mxGraphModel></bpmn:definitions>';
    moddle.fromXML(xmlStr, function(err, definitions) {


        console.log(definitions)

        // add a root element
        var bpmnProcess = moddle.create('bpmn:Process', { id: 'MyProcess_1' });
        definitions.get('rootElements').push(bpmnProcess);
        moddle.toXML(definitions, function(err, xmlStrUpdated) {
          // xmlStrUpdated contains new id and the added process
          console.log(xmlStrUpdated)
        });

      });
}
hello()

我正在控制台中获取输出。 但是当我尝试在浏览器中运行该文件时,我得到的错误如下所示 “未定义要求”

我还尝试添加webpack.config.js文件来捆绑项目。下面是我的webpack.config.js和html文件

module.exports = {
  entry: './app.js',
  module: {
    rules: [
      {
        test: /\.(js)$/,
        exclude: /node_modules/,
        use: ['babel-loader']
      }
    ]
  },
  resolve: {
    extensions: ['*', '.js']
  },
  output: {
    path: __dirname + '/dist',
    publicPath: '/',
    filename: 'bundle.js'
  },
  devServer: {
    contentBase: './dist'
  }
};
<html>
<header><title>This is title</title></header>
<body>
Hello world
<script src="./dist/app.js"></script>
</body>
</html>
html文件

module.exports = {
  entry: './app.js',
  module: {
    rules: [
      {
        test: /\.(js)$/,
        exclude: /node_modules/,
        use: ['babel-loader']
      }
    ]
  },
  resolve: {
    extensions: ['*', '.js']
  },
  output: {
    path: __dirname + '/dist',
    publicPath: '/',
    filename: 'bundle.js'
  },
  devServer: {
    contentBase: './dist'
  }
};
<html>
<header><title>This is title</title></header>
<body>
Hello world
<script src="./dist/app.js"></script>
</body>
</html>

这是标题
你好,世界

执行此操作后,我得到的错误为未找到文件。有人能帮助我理解如何在浏览器中捆绑和运行文件吗?

尝试在babel配置中设置目标:您应该首先使用
npm
命令实际构建此文件。先浏览一下任何一个网页教程,你在这里遗漏了很多基本步骤。我确实使用npm构建了这个文件。“build”:“rimraf dist/&&babel./--out dir dist/--ignore./node_modules、../.babelrc、./package.json、./npm-debug.log--copy files”,这就是我在终端中获得输出的方式。但不是在浏览器中