English 中文(简体)
使用NextJS和Redux时,如何适当调用外部联署材料在网页上的Init功能。
原标题:How to appropriately call init function of external JS on page ready when using NextJS and Redux

我正在维护一个由Vercel主办的下一个JS和Redux网站。

新添加的功能需要大块的 JavaScript, 所以我把它写在一个分离的文件里, 并在特性组件中使用标记 。

由于 redux 的用法, 我无法在脚本本身中使用一个初始化器, 而是在页面准备好后立即拨打它 。

虽然我的 IDE 由于内部未知的函数调用在 SomeFeture. init () 上标记了一个错误, 但该功能在我的 dev 环境上完全正常, 因为函数是在页面准备时设定的 。

然而,在建造:

Failed to compile. Type error: Cannot find name  SomeFeature .

代码看起来像是:

"use client"

import Script from  next/script ;

...

export default () => {
  return (
    <>
        <div>....</div>
        <Script type="text/javascript" src="/scripts/SomeFeature.js" onReady={() => { SomeFeature.init() }} />
    </>
  )
}

使用上述设置在网页Ready上启动外部联署材料代码的正常方法是什么? 不幸的是,我还没有找到任何可行的资源。

问题回答

我最后在根文件夹中创建了一个全局.d.ts文件,其代码如下:

export {};

declare global {
  interface Window {
    SomeFeature: {
      initialize: () => void;
    };
  }
}

我不知道这是不是最好的办法 但它解决了建筑时间的问题





相关问题
拆除月度边界(实际大型日历)

采用大型反应日历的Im, 并想要清除包罗日历的边界。 以及如何改变日记栏和日记的颜色? 如何使其发挥作用?

表中未显示的元数据

我将元件定义为如下文所示,但是在我的剪辑中,它没有显示“当地:3000/#home”。 我的所有jsx档案都有“用户”bc。

NextJS 13 Data Fetching

Is there anyway of custom baseURL for their fetch method? For example in axios: const instance = axios.create({ baseURL: https://some-domain.com/api/ , timeout: 1000, headers: { X-Custom-Header ...

热门标签