【问题标题】:How to use ES6 lib in React如何在 React 中使用 ES6 库
【发布时间】:2017-12-01 00:04:15
【问题描述】:

我有一个用 ES6/JSX 编写的库,想在 create-react-app 应用程序上使用 npm install 安装它。如何强制 babel 从 node_modules 解析这个库?

转译时不要忽略node_modules/my-library

【问题讨论】:

  • 所以你想给 Babel 添加一个插件/预设?
  • 现在我有一个带有package.json 文件、一些.jsx、一些.css 和一些.png 文件的库,并将它用作我的应用程序src 路径中的git 子模块.我想直接从node_modules 引用这个库,这样我就可以从“my-library”导入,而不是从“../../my-library”导入,并在有人键入npm install 时安装它而不会感到痛苦记住 git 上的“--recursive”。

标签: reactjs ecmascript-6 jsx babeljs create-react-app


【解决方案1】:

我认为您的库不应依赖第三方应用程序依赖项,
那么它就没有用了,它只适用于包含 Babel 作为依赖项的项目。

相反,您应该将Babel 添加到您的库依赖项中,并使用babel 将您的ES6 代码转换为ES5 代码,从而生成标准javascript。

因此,您可以通过导入构建轻松地将其添加到任何项目中。

【讨论】:

  • 我已经为一个纯算法库做了这个。但是,对于这个,我需要在构建中包含资产(样式、图像、字体......)。 babel src --out-dir dist 命令只对 js 文件起作用。
  • 没错,那么那个库不应该是一个库,它应该是你项目的一部分,因为你在构建阶段需要不同的东西
  • 但是,你能告诉我们那个库吗?这样我们就可以看到您的图书馆正在尝试做什么:)
  • 我称它为库,因为它将是一组组件,将被许多具有良好版本控制的应用程序使用。如你所愿,here 你可以找到一个作为 git 子模块正常工作的示例。
  • @Wanderson 看看这篇文章,它详细解释了你想要实现的目标。 krasimirtsonev.com/blog/article/…
猜你喜欢
  • 2017-07-02
  • 2019-12-09
  • 2016-09-26
  • 1970-01-01
  • 2016-11-11
  • 2016-08-11
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
相关资源
最近更新 更多