@charlietango/use-script

中文文档
2.3.0发布于 2022/04/15MITTypeScriptESM + CJS近 30 天下载 1.3万

Load an external third party script

此软件包已被标记为弃用

No longer supported. Use the @charlietango/hooks package instead

原始使用文档
文档目录3 节
  1. Installation
  2. API
  3. Example

useScript

With useScript you can lazy-load external third party scripts, that your components might depend on. It checks if the requested url already exists and reuses it, instead of creating a new load request.

Checkout the Storybook demo.

Installation

yarn add @charlietango/use-script

API

const [ready, status] = useScript(url)

The hook returns an array, where the first value is a boolean indicating if the script is ready. The second value is the current loading status, that will be one of the ScriptStatus enum values:

enum ScriptStatus {
  IDLE = 'idle',
  LOADING = 'loading',
  READY = 'loaded',
  ERROR = 'error',
}

Example

import React from 'react'
import useScript, { ScriptStatus } from '@charlietango/use-script'

const Component = () => {
  const [ready, status] = useScript('https://api.google.com/api.js')

  if (status === ScriptStatus.ERROR) {
    return <div>Failed to load Google API</div>
  }

  return <div>Google API Ready: {ready}</div>
}

export default Component

版本与发布记录

@charlietango/use-script 共发布 18 个版本,首次发布于 2019/02/26;过去 12 个月发布了 0 个版本。

版本发布日期距今
2.3.0latest2022/04/154 年前
2.2.02020/10/196 年前
2.1.22020/09/236 年前
2.1.12020/06/096 年前
2.1.02019/11/256 年前
2.0.22019/11/136 年前

关于 @charlietango/use-script 的常见问题

@charlietango/use-script 是什么?

Load an external third party script注意:该包已被作者标记为弃用——No longer supported. Use the @charlietango/hooks package instead

如何安装 @charlietango/use-script?

在项目目录运行 npm install @charlietango/use-script,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0)、react-dom(^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@charlietango/use-script 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@charlietango/use-script 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@charlietango/use-script 可以商用吗?

@charlietango/use-script 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@charlietango/use-script 的下载量有多少?

根据 npm 官方下载统计,@charlietango/use-script 在 2026/10/10 – 2026/11/08 这 30 天内被下载 12,713 次,日均约 424 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@charlietango/use-script 还在维护吗?

最新版本 2.3.0 发布于 2022/04/15(4 年前);至今共发布 18 个版本,其中过去 12 个月发布了 0 个;首次发布于 2019/02/26。作者已将其标记为弃用,新项目建议寻找替代方案。