Проблема с функцией require () в JavaScript - PullRequest
0 голосов
/ 09 мая 2019

Я пытаюсь реализовать следующий код, в котором я пытаюсь прочитать файл JSON в JavaScript. У меня есть два файла, пусть один будет main.html, который содержит основной код JavaScript, пусть он будет называться main.js, а другой импортирован.js

Это файл main.html

<!Doctype html>
<html>
    <head>

        Dwell time for workers

    </head>
    <script src = https://requirejs.org/docs/release/2.3.6/r.js></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
    <script type="text/javascript" src="text.json"></script>
    <script src="testing_file.js"></script>
    <script type = "text/javascript"></script>
    <script>
    var Import = new import_file('osama'); // constructor 
    var out = Import.dwell_times()
    console.log('out')
    console.log(out[2]);
</script> 

<body>
    <h1> worker time : </h1>

</body>


</html>

Это импортированный файл .js

var that = null;

class import_file
{
    constructor(title)
    {
        this.title = title;
        that = this;
    }
    dwell_times()
    {
        console.log('osama')
        var x = [5,4,3,2,1] ; 
        var y = x.toString();
        console.log(y)
        let parsed = require('./updated.json')
        console.log(parsed) ;// Arham
        return parsed;
    }

}
var Import = new import_file('osama'); // constructor 
var out = Import.dwell_times()
console.log('out')
console.log(out[2])

Я получаю следующую ошибку

Uncaught Error: Module name "updated.json" has not been loaded yet for context: _. Use require([])
https://requirejs.org/docs/errors.html#notloaded
    at makeError (r.js:417)
    at Object.localRequire [as require] (r.js:1685)
    at requirejs (r.js:2046)
    at import_file.dwell_times (testing_file.js:16)
    at imported.js:23

Что мне сделать, чтобы решить эту ошибку?

1 Ответ

0 голосов
/ 09 мая 2019

Require не может разобрать это и автоматически преобразовать это. Решение состоит в том, чтобы преобразовать в синтаксис обратного вызова:

var moduleName = './updated.json';
require([moduleName], function(fooModule){
     // do something
})
...