javascript - 使用 webpack 转译 ES6 模块后,模块未导出

标签 javascript reactjs webpack ecmascript-6

我开发了一个可用的小包here

src 版本中我有一个导出语句:

export class Select extends React.Component {
    render() {
        return (
         ...the component
        )
    }
}

当我以这种形式使用这个组件时,我可以像这样导入它:

从“select-react-redux”导入{Select};

但是,在我将包与 webpack 捆绑到 lib 目录后,我得到了一个输出文件,我希望它具有与原始文件相同的内容,但 ES5 而不是 ES6。

捆绑文件包含: var Select = exports.Select = function (_React$Component) {} 这意味着我应该可以使用 Select 组件,但事实并非如此。

任何帮助将不胜感激。

最佳答案

package.json 中,我看到你的 package's entry point定义为:

"main": "src/index.js",

因为你在 src/index.js 中有 ES6 代码,所以你需要一个合适的加载器来按原样使用包。但是检查你的 webpack 配置我发现你已经在 lib/index.js 中有转译代码。所以你需要将你的包入口点指定为:

"main": "lib/index.js"

关于javascript - 使用 webpack 转译 ES6 模块后,模块未导出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40711700/

相关文章:

javascript - 如何将数据从自定义 Angular 元素传递到 Controller ?

javascript - 从 node.js 纤维 future 返回值

javascript - 在 Javascript 中使用 getAttribute 和 addEventListener

javascript - 从可拖动组件中移除事件监听器

node.js - Yarn - Node Sass 还不支持我当前的环境

javascript - 指定 `document.body` 作为 material-ui Tooltip 的容器元素

css - 当模态在 React 中可见时平滑过渡

javascript - 如何处理 react-intl 中的 "missing message"错误?

javascript - Assets 文件夹中的图像未加载我收到 304 错误

javascript - Nuxt.js:如何将全局 CSS 从样式标签移动到 css 文件