【问题标题】:How to get module code as string javascript如何将模块代码作为字符串 javascript
【发布时间】:2019-02-25 09:27:54
【问题描述】:

假设我在 React 中有一个简单的组件,我不仅想使用该组件本身,还想使用它的代码来显示在屏幕上?我怎样才能做到这一点?

这就是我正在做的事情

import Anything from ../../'anywhere';

const CustomComponent = () => {
    return (
        <div>
            <Anything />
        </div>
    )
}

export default CustomComponent;

然后在另一个文件中

import CustomComponent from './custom-component';

return (
    <div codeHighlightStr={CustomComponentString}>
        <CustomComponent />
    </div>
)

我不知道如何从同一个模块中获取CustomComponentString

【问题讨论】:

  • 给我们看一些代码!
  • @AbderrahimSoubaiElidrissi 请老兄。别说话了。你需要什么代码才能更容易理解。
  • 好容易好运
  • 这个问题没有足够的细节。这对您的设置非常具体,没有解释。这是 create-react-app 项目吗?

标签: javascript reactjs


【解决方案1】:

您可以使用 ReactDomServer.renderToString 方法或通过查询 'jsx to string' 的一些 npm 包

【讨论】:

  • 更新了我的问题
【解决方案2】:

你可以使用&lt;xmp&gt;标签。

 render(){
    return (<div>
       <xmp>
       let test='SomeValue';
       document.getElementById('someElement').innetHTML = test;
       </xmp>
    </div>)
}

DEMO

【讨论】:

  • 在我希望的同一行上,如果我不仅可以使用 标记在 jsx 中显示代码,而且可以使用所有模块,包括它的 import 语句。例如,如果我将组件代码包装为字符串文字,即 const Usage = <code>() =&amp;gt; { import React, { useState } from 'react'; import Accordian from '../../../components/accordian/accordian'; return (&amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;)}</code>,然后使用 eval 运行它。但它不运行
  • 有没有办法重用所有模块代码,包括导入语句?
  • 更新了我的问题
猜你喜欢
  • 2023-03-08
  • 2011-09-28
  • 1970-01-01
  • 1970-01-01
  • 2019-10-03
  • 2013-05-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多