如何使用 ES6 模块导入文件,并将其内容作为字符串读取?

Posted

技术标签:

【中文标题】如何使用 ES6 模块导入文件,并将其内容作为字符串读取?【英文标题】:How to import a file using ES6 modules, and read its content as a string? 【发布时间】:2022-01-18 10:56:16 【问题描述】:

在我的标准 React 应用程序中,我需要实现以下目标:导入位于我的 src 文件夹中的文件,以便简单地将其内容作为字符串读取。例如,假设我在文件中有以下代码:

alert('hey') 

然后在其他文件中,我想用伪代码做这样的事情:

import * as string from './someFile.js'

console.log(string)

console.log 的输出应该是 JS 代码,作为一个字符串:

alert('hey')

如果我可以将文件放在我的公用文件夹中,我就可以执行 http 请求并按照我的意愿阅读它。但问题当然是,该文件是构建过程的一部分(在 src 文件夹内)

这个可以吗?

【问题讨论】:

具体是javascript文件内容吗? 如果这只是构建的一部分,您可以使用 node fs 模块...Read a file in Node.js @pilchard 也许我说错了。我的意思是,该文件是 webpack 从文件中组装的难题的一部分。 fs 模块在运行时不可用,这是我需要读取文件的时候。 @Gandzal 是的,它是 js。 【参考方案1】:

我可以考虑:

    使用以下代码定义 constants.js 文件:

    export default "alert('vasia')";
    

    从一些反应文件中导入这个文件:

    import vasia from "./constants";
    
    const App = () => 
      console.log(eval(vasia));
    
    

这就是你要找的吗?

但是,必须警告你:“eval”是邪恶的!

【讨论】:

以上是关于如何使用 ES6 模块导入文件,并将其内容作为字符串读取?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 PyCharm 中创建模块并将其导入?

如何处理作为 ES6 模块导入的 JavaScript 文件的缓存

如何在xcode中使用图像文件作为启动图像而不将其名称更改为“Default.png”并将其重新导入到项目中?

如何使用 ES6 模块导入来导入路径

ES6,如何在一行中导出导入的模块?

XCode:使用命令行工具,如何从文件夹创建 git 并将其导入项目