如何更改节点模块包中的标签文本?
Posted
技术标签:
【中文标题】如何更改节点模块包中的标签文本?【英文标题】: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
链接的内容,我不太了解,我只想问是否有更好的方法来仅更改该简单文本。能否请您推荐我正确的简单复制翻译方法?
【问题讨论】:
【参考方案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,我可以看看。以上是关于如何更改节点模块包中的标签文本?的主要内容,如果未能解决你的问题,请参考以下文章