【问题标题】:How to change a label text in node module package?如何更改节点模块包中的标签文本?
【发布时间】:2019-10-31 13:10:49
【问题描述】:

我正在制作一个 react web 应用程序,并且我已经安装了一个英文的节点模块包(react-timelines),但我需要将“Today”标签文本翻译成西班牙语来说“Hoy”。当我转到 node_module 中的包文件夹并更改文本时,我的更改不适用于项目。

我读过一些关于npm 链接的内容,我不太了解,我只想问是否有更好的方法来仅更改该简单文本。能否请您推荐我正确的简单复制翻译方法?

【问题讨论】:

    标签: javascript node.js reactjs npm


    【解决方案1】:

    你总是可以使用 React Hooks。更具体地说,useEffect()useRef() 在页面加载时动态更改文本。一旦 React 组件有了 ref,你就可以使用该 ref 来操作它。

    index.html

    <div id='root'></div>
    

    index.js

    const App = () => {
      const appRef = useRef(null);
      useEffect(() => {
        appRef.current.innerHTML = 'new text';
      }, []);
    
      return (
        <div ref={appRef}></div
      );
    }
    
    ReactDOM.render(<App />,document.getElementById('root'));
    

    【讨论】:

      【解决方案2】:

      node_modules 的内容来源于 package.json。也就是说:package.json 描述了您的应用程序所依赖的库/依赖项,然后,当使用 npm 构建时,库的实际内容被下载并存储在 node_modules 中。也就是说,您可能不想手动更改 node_modules 中的内容,因为后续的 npm 构建会覆盖您的工作。

      您最终想要完成什么/您希望从哪里显示“Hoy”?

      【讨论】:

      • 我想显示它here 这种情况我该怎么办?如果手动更改它,这不是正确的选择
      • 感谢您的图片。您需要找出数据的来源并相应地进行调整。这可能意味着修改 react-timelines 的来源并在本地打包或将问题缩小到另一个模块(react-localization?)。如果你在 github 上放了一个概念验证 repo,我可以看看。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-27
      • 1970-01-01
      • 1970-01-01
      • 2011-04-04
      • 1970-01-01
      相关资源
      最近更新 更多