代码之家  ›  专栏  ›  技术社区  ›  Steve -Cutter- Blades

无法导出Webpack 4和Babel 7的默认值

  •  1
  • Steve -Cutter- Blades  · 技术社区  · 7 年前

    这里有一些功能,曾经为我工作与巴别塔6,但我有问题与巴别塔7。我正在尝试将(默认)类导出为库。当前,我在尝试导入时遇到以下错误。

    未捕获的语法错误:请求的模块“./dist/datastore.js”不 提供名为“default”的导出

    网页包中的位:

    output: {
      path: `${__dirname}/dist`,
      filename: `${moduleName}.js`,
      library: 'datastore',
      libraryExport: 'default',
      libraryTarget: 'umd',
      umdNamedDefine: true
    },
    

    从我的入口点:

    import DataStore from './datastore';
    
    export default DataStore;
    

    {
      "presets": [
        ["@babel/preset-env", {
          "targets": {
            "node": "current"
          },
          "modules": false
        }]
      ],
      "plugins": [
        "@babel/plugin-transform-async-to-generator",
        "@babel/plugin-transform-destructuring",
        "@babel/plugin-proposal-class-properties",
        "@babel/plugin-proposal-object-rest-spread"
      ]
    }
    

    有人有什么想法吗?

    2 回复  |  直到 7 年前
        1
  •  3
  •   grandemayta    7 年前

    如果使用的是babel 7,则需要加载此包:

    npm i --save-dev babel-plugin-add-module-exports
    

    然后在babel配置中添加这个插件“add module exports”:

    module.exports = {
      presets: [
        [
          '@babel/preset-env',
          {
            modules: false,
            targets: {
              browsers: ['last 2 versions', 'safari >= 7']
            }
          }
        ]
      ],
      plugins: ['add-module-exports']
    };
    
        2
  •  -1
  •   Bryan    7 年前

    错误消息是datastore.js 不提供名为“default”的导出 -是吗?

    推荐文章