javascript - 没有 babel 的 React 组件的 NPM 包

标签 javascript reactjs npm ecmascript-6

我已经使用 react/ES6 构建了一个 UI 组件,我需要在其他几个项目中重用它。

所以我认为它可能是一个不错的小 npm 包。

原来 npm 包的默认设置似乎是:

  1. 将ES6模块放在/src
  2. 有一个单独的 /lib 存放转译后的文件
  3. 在每个版本中将这些模块转换为 ES5

在我看来,这是一些(不必要的?)开销。将使用该包的项目也将使用 ES6 编写,因此无需转换依赖项。

有没有办法将 ES6 模块捆绑在 npm 包中并跳过转译过程 - 并接受项目需要使用 ES6 才能添加此依赖项的事实?

编辑澄清

@D-reaper 对,很公平。我的问题是进口方。我构建了一个包含 Project.jsx 的包。尝试导入它时,我收到以下错误消息:

ERROR in ./node_modules/foo/Project.jsx
Module parse failed: /../node_modules/foo/Project.jsx Unexpected token (14:11)
You may need an appropriate loader to handle this file type.

所以我的猜测是,webpack/babel 无法正确处理 ES6 模块的导入,因为他们希望 npm 包包含 ES5 - 这是一个正确的假设吗?我可以解决这个问题吗?

最佳答案

我将使用 https://github.com/insin/nwb将我的 React 组件放入 npm 包中。

关于javascript - 没有 babel 的 React 组件的 NPM 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45038211/

相关文章:

javascript - 使用 JavaScript 进行日期和时间字符串操作

javascript - 如何在 typescript 中使用抽象类

node.js - pm2 可以运行 'npm start' 脚本吗

reactjs - Apollo 客户端 3 从缓存中逐出对象

reactjs - 无法解析依赖项 : peer react @"^16 || ^17" from react-top-loading-bar@2. 1.0

git - 写库的时候,是不是应该把TypeScript生成的JavaScript文件放到gitignore里面?

javascript - Coffeescript 类扩展比 Backbone 扩展更膨胀

javascript - "undo"Javascript 中的 DOM 操作函数

javascript - JQuery获取按钮的标题

javascript - React-testing-library 渲染函数有什么问题?它对某些对象返回错误