Ecmascript 6 Babel生成的代码导致错误导出未定义

Ecmascript 6 Babel生成的代码导致错误导出未定义,ecmascript-6,babeljs,Ecmascript 6,Babeljs,当此代码(由babel生成)运行时,我得到一个错误导出未定义 Object.defineProperty(exports, '__esModule', { 有什么想法吗?您很可能没有在支持CommonJS模块的环境中执行代码。您可以使用绑定器,例如或 将模块捆绑到可以在不同环境中运行的组件中 或者你可以选择一个不同的 带网页包 运行npm安装-g网页;npm安装-D babel loader。然后使用此网页包配置: // webpack.config.js module.exports =

当此代码(由babel生成)运行时,我得到一个错误
导出未定义

Object.defineProperty(exports, '__esModule', {

有什么想法吗?

您很可能没有在支持CommonJS模块的环境中执行代码。您可以使用绑定器,例如或 将模块捆绑到可以在不同环境中运行的组件中

或者你可以选择一个不同的


带网页包

运行
npm安装-g网页;npm安装-D babel loader
。然后使用此网页包配置:

// webpack.config.js
module.exports = {
    entry: "./path/to/entry/module.js",
    output: {
        path: __dirname,
        filename: "bundle.js"
    },
    module: {
      loaders: [
        { test: /\.js$/, exclude: /node_modules/, loader: "babel-loader"}
      ]
    }
};

运行
webpack
命令将转换通过babel的输入文件可以访问的所有
*.js
文件,并将它们打包成
bundle.js

我读了一篇文章,文章介绍了ES6导入和导出如何仅在浏览器中使用“静态可分析的文件”因此,Babel取消了浏览器中的导入和导出支持。与异步或可能的安全性有关

如果出于开发目的希望跳过服务器端绑定,可以将

window.MyModule=MyModule
在底部,然后导入


var MyModule=window.MyModule
在下一个文件的顶部

哦,我想我可以在浏览器中运行babel输出,所以我只需在npm中下载webpack并使用该脚本?我建议阅读webpack文档:)在这种情况下也可以看到。我只想创建一个脚本,将其绑定到cdn中,有人会这样做使用。他们不会有网页包。好吧,我先从。