当前位置: 首页 > 面试题库 >

如何使用requirejs加载静态JSON文件?

谭高峯
2023-03-14
问题内容

我想保留一个JSON文档来存储一些简单的数据,并且我需要此文档并在define()调用中使用JSON对象,以便可以使用它。这不是async电话。我的意思是应该用于开发,但我确实希望在构建时编译文件,这与asyncAPI
的实际调用不同,API的内容是动态的。


问题答案:

最简单的方法是为此使用requirejs json插件,这将使您也可以将文件包括在构建中。

https://github.com/millermedeiros/requirejs-
plugins

这是一个示例

require(['json!someFile.json'], function(data){
  ...
})
// It does not actually need to be a .json extension, this will work to:
require(['json!someFile'], function(data){
  ...
})

如果要将文件包含在r.js构建中,以便始终在main / js引导程序文件中对其进行优化,则必须将其添加到include选项中

您也可以为此使用require js文本插件,它通常用于加载模板文件,但也可以使用它来加载.json文件。

https://github.com/requirejs/text

然后,您必须解析自己的内容JSON.parse
(如果需要,请包含json2.js以提供对较旧浏览器的支持)

您还可以将json包装在其自己的define()中,这样您就可以按传统要求使用它,但是如果限于实际.json文件,则无法使用。

另一种选择是通过jquery或其他工具要求文本文件通过ajax。

$.get('somefile.json', function(data) {
  // do something with your data
});


 类似资料:
  • 问题内容: 我的代码在构造后的某个地方: 我尝试了这个: 项目结构 : 题: webpack如何复制到? 问题答案: 您用于请求JSON文件,而这只会在运行时发生。此外,webpack只处理导入的任何内容。您希望它可以处理函数的参数,但是如果webpack这样做,则函数的每个参数都将被视为模块,这会破坏该函数的其他用途。 如果您希望装入程序启动,则可以导入文件。 您还可以导入JSON并直接使用它,

  • 问题内容: 我正在构建Java Web应用程序,并且我讨厌传统的“代码-编译-部署-测试”周期。我想输入一个微小的更改,然后立即查看结果,而无需编译和部署。 幸运的是,码头很适合这样做。这是一个纯Java Web服务器。它带有一个非常不错的maven插件,可让您直接从构建树中启动Jetty阅读- 无需打包war文件或部署。它甚至具有scanInterval设置:将其设置为非零值,它将监视您的Jav

  • 问题内容: 我不知道如何使用webpack从node_modules库中加载任何CSS,例如,我已经安装了传单,每次加载尝试均失败。 您能否提供示例如何从node_modules加载静态样式? 我当前的webpack配置如下。另外,我正在使用,我的项目scss文件运行良好,我也可以解析静态CSS文件或向其中添加内容吗? 在哪里加载leaflet.css,注释掉了以下错误: 问题答案: 对于遇到类似

  • 问题内容: 我正在使用JSON传输数据。 我需要在HTML页面中使用Ajax读取仅在脚本中包含一个JSON对象的文件吗? 我是否也需要jQuery,或者是否可以使用Ajax加载该JSON文件? 在不同的浏览器上是否有所不同? 问题答案: 您不需要任何库,香草javascript中的所有内容均可用,以获取json文件并进行解析:

  • 问题内容: 我正在本地计算机(Mac OS X)上运行Django的开发服务器(),无法加载CSS文件。 以下是settings.py中的相关条目: 在我的views.py中,我请求上下文: 在我的模板中,渲染正确: 变成: 文件实际所在的位置。我还确保所有文件都已收集。 我的urls.py中也包含以下几行: 我是Django的新手,所以可能缺少一些简单的知识-希望对您有所帮助。 问题答案: 请仔

  • 问题内容: 我正在本地计算机(Mac OS X)上运行Django的开发服务器(),无法加载CSS文件。 以下是settings.py中的相关条目: 在我的views.py中,我正在请求上下文: 在我的模板中,渲染正确: 变成: 文件实际所在的位置。我还确保所有文件都已收集。 我的urls.py中也包含以下几行: 我是Django的新手,所以可能缺少一些简单的知识-希望对您有所帮助。 问题答案: