我已经使用 react/ES6 构建了一个 UI 组件,我需要在其他几个项目中重用它。
所以我认为它可能是一个不错的小 npm 包。
原来 npm 包的默认设置似乎是:
- 将ES6模块放在
/src
下 - 有一个单独的
/lib
存放转译后的文件 - 在每个版本中将这些模块转换为 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/