Модуль еще не загружен для контекста - PullRequest
0 голосов
/ 01 февраля 2019

Я пытаюсь использовать fs в моем коде Javascript.Я использовал его раньше на работе и немного знаком с ним, однако, когда я пытаюсь использовать его дома, мне приходится вручную (поскольку мой проект настолько мал, что я не использую grunt или другие вспомогательные средства) настроить requirejs.Я перепробовал много примеров, которые мог найти в Интернете, и я не могу заставить fs работать.В его текущей реализации у меня есть код, работающий прямо из моего файла JS.Я постоянно получаю:

Имя модуля "fs" еще не загружено для контекста. Я проверил требуемые документы, и они говорят, что они реализуют следующие функции: https://requirejs.org/docs/errors.html#notloaded

Я попробовал каждую конфигурацию в документации, а также несколько примеров, которые я нашел в Интернете.Моя папка с файлами теперь полностью отключена, но я возвращаюсь к одной ошибке.

В моем файле js

require(['file-system'], function (fs) {
    //fs is now loaded.
    console.log('fs', fs);
});

В моем html, который изменился за итерации попыток, ноопираясь на это:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <script data-main="jsFile.js" src="scripts/require.js"></script>
    </head>
    <body>
        <p id="cards"></p>
        <p id='POS'></p>
        <script src="jsFile.js"></script>
   </body>
   </html>

Результат выполняет мой код с ошибкой:

Uncaught Ошибка: имя модуля "fs" еще не загружено для контекста: _.Используйте> require ([]) https://requirejs.org/docs/errors.html#notloaded в makeError (require.js: 5) в Object.s [как требуется] (require.js: 5) в requirejs (require.js: 5) в файловой системе.js: 5

1 Ответ

0 голосов
/ 02 февраля 2019

Библиотека file-system работает только в средах Node, на стороне сервера или из командной строки.Так что он не будет напрямую доступен из клиентского скрипта, как вы, похоже, пытаетесь здесь.

В браузере есть другие пакеты NPM, которые эмулируют API fs на клиентском интерфейсе.Но вам все равно нужно будет настроить все так, чтобы исходный код пакета был доступен во время выполнения.Это может включать копирование сценариев из node_modules в общедоступный каталог в коде на стороне сервера или использование инструмента конвейера сборки, такого как Gulp.

Но, вообще говоря, JS на стороне клиента, работающий в браузере, долженвообще не полагаться на доступ к внешней файловой системе (за исключением таких вещей, как ввод файлов или другие действия пользователя, обеспечивающие такой доступ).

...