首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该编译我的库,还是只发布ES6代码?

我应该编译我的库,还是只发布ES6代码?
EN

Stack Overflow用户
提问于 2020-01-08 17:47:09
回答 1查看 131关注 0票数 0

我有一个非常简单的钩子,我想发布到国家预防机制,我正在努力了解为什么我应该编译我的钩子。首先让我提供一些背景情况。

我的钩子只依赖于React.useStateReact.useEffect。这个钩子的用途是与我现有的库:https://npmjs.com/package/simple-shared-state一起使用。正如你所看到的,这个钩子没有什么东西:

代码语言:javascript
复制
import { useEffect, useState } from "react";

export default (store, selectors) => {
    const [state, setState] = useState([]);

    useEffect(() => {
        const unwatch = store.watchBatch(selectors, (array) => {
            setState(array.slice());
        });
        return unwatch;
    }, []);

    return state;
};

我已经看过create-react-hook cli工具,并尝试过它,但我不知道我的项目如何需要包含的dev依赖项。我的钩子已经可以用于我的单回购,,其中我提供了一个使用CRA引导的工作应用程序。

关于测试:

如果这样做有意义的话,我可以专门为这个钩子添加单元测试的额外步骤,但目前,我看不到对此的强烈需求,因为功能的核心在simple-shared-state中,而且所有的逻辑都已经包含了相当广泛的测试。

我看了一下反应钩.试验.程序库,基于“何时使用这个库”和“何时不使用这个库”,在我看来,我的情况是我不需要使用这个库。我认为我的钩子很简单,添加更多测试的额外步骤很难证明是正确的。你同意吗?你能想到为什么我要使用react-hooks-testing-library吗?

关于汇编:

我看不出有什么充分的理由来编译和缩小我的钩子,因为reason应用程序开发人员将几乎完全是从JSX编译他们的项目。

摘要

鉴于以上所述,是否有理由只在npm上简单地发布我的钩子,如所示?也就是说,package.json将包括"main": "src/index.js",而不包含dist/目录。React将进入package.json下的peerDependencies,仅此而已。应用程序开发人员会简单地将这个钩子的源代码编译到他们的包中,仅此而已。

提前感谢您抽出时间阅读和回复!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-09 00:00:04

您可以发布ES6代码。

当前的js规范是ES2020。所有运行时都应该支持此规范中的所有功能。因此,您需要将自己的代码编译成最新标准。如果用户想在旧的运行时(例如IE11)上使用您的代码,他可以在构建过程中转换所有代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59651230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档