簡體   English   中英

Javascript - 使用 RequireJS 加載 JSon 文件的內容

[英]Javascript - Load the content of a JSon file with RequireJS

我正在嘗試將一個簡單的 JSon 文件加載到一個變量中,但我正在撞牆。

這是我使用的代碼:

<html> 
  <head> 
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> 
    <title>Require test</title> 
    <script charset="utf-8" src="require.js"></script>
  </head> 
  <body> 
    <script type="text/javascript"> 
      root = require('./data_test_v2.json');
      console.log(root);
    </script> 
  </body> 
</html>

這是我得到的錯誤:

Uncaught Error: Module name "data_test_v2.json" has not been loaded yet for context: _. Use require([])
https://requirejs.org/docs/errors.html#notloaded

require.js 文件是 RequireJS 的最新版本(來自https://requirejs.org/docs/release/2.3.6/comments/require.js )。

似乎是一個非常基本的問題..歡迎任何幫助。

Node.js 提供的require function將加載CommonJS模塊和JSON

Require.js 提供的require function將加載AMD模塊。

它們並非旨在兼容。 它們有完全不同的 API。 Require.js支持加載 JSON。


如果您想在瀏覽器中使用客戶端代碼從 JSON 加載數據,請使用fetchXHTMLHttpRequest或包裝其中之一的庫(例如axios )。

您可以使用 RequireJS 加載 JSON 文件,但您需要一個JSON 插件

此外,您必須稍微修改您的代碼,因為 RequireJS 是異步的。 它要求您提供一組所需的依賴項以作為第一個參數加載,並提供一個回調作為第二個參數。 回調將被執行,加載的依賴項將作為參數注入。

<html> 
  <head> 
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> 
    <title>Require test</title> 
    <script charset="utf-8" src="require.js"></script>
  </head> 
  <body> 
    <script type="text/javascript"> 
      root = require(['./data_test_v2.json'], (json) => { console.log(json); });
      console.log(root);
    </script> 
  </body> 
</html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM