[英]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 加載數據,請使用fetch
、 XHTMLHttpRequest
或包裝其中之一的庫(例如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.