Как лучше всего использовать AMD и Require JS, когда пространство имен целиком - PullRequest
0 голосов
/ 17 марта 2020

Я новичок в AMD, и мне было интересно, как можно получить такой файл, смешанные функции и логи c:

function abc() {
    ....
}

function def() {
    ....
}

function ghi() {
    ....
}

var something = { ... }

if (abc === something) {
    for(var i = 1; i < 10000000; i++) {
       ...
    }
}

... And so it goes on for 1200 lines or so.

Так что не все в этом файле находится внутри функции, также есть только logi c, выполняемый вне функций.

Как я могу включить такой файл в другой модуль и убедиться, что все эти функции, а какие нет, НЕ находятся в глобальном пространстве имен / области видимости в стиле AMD?

1 Ответ

0 голосов
/ 20 марта 2020

Вы должны обернуть все содержимое файла в определение модуля:

define(function () {
function abc() {
    // ....
}

function def() {
    // ....
}

function ghi() {
    // ....
}

var something = { /* ... */ }

if (abc === something) {
    for(var i = 1; i < 10000000; i++) {
       // ...
    }
}

// ... And so it goes on for 1200 lines or so.
});

Тогда в другом модуле просто требуется вещь из вышеперечисленного :) Но ни одна из этих функций не будет доступна для модуля, который нужен упакованный код Но это также можно отсортировать, просто верните их в литерал объекта в конце упакованного файла

...