ExpressJS Как структурировать приложение?

Как сказал @MrGlass, в настоящее время расширения Chrome выполняются в отдельной среде, ограничивая доступ к фактическому объекту window и предоставляя дубликат, который действителен только для расширения.

Чтобы решить эту проблему, мы можем вставить элемент сценария непосредственно в документ. Таким образом, вы получаете доступ к среде документа и реальному объекту window.

Сначала создайте функцию (я также добавил «подтвердить», потому что некоторые подтверждения меня так раздражали):

var disablerFunction = function () {

    window.alert = function alert(msg) { console.log('Hidden Alert ' + msg); };
    window.confirm = function confirm(msg) { 
        console.log("Hidden Confirm " + msg); 
        return true; /*simulates user clicking yes*/ 
    };

};

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

var disablerCode = "(" + disablerFunction.toString() + ")();";

И, наконец, мы добавляем элемент скрипта и сразу удаляем его:

var disablerScriptElement = document.createElement('script');
disablerScriptElement.textContent = disablerCode;

document.documentElement.appendChild(disablerScriptElement);
disablerScriptElement.parentNode.removeChild(disablerScriptElement);
505
задан Ondrej Slinták 1 May 2016 в 16:51
поделиться

2 ответа

Это может представлять интерес:

https://github.com/flatiron/nconf

Иерархическая конфигурация node.js с файлами, окружением переменные, аргументы командной строки и слияние атомарных объектов.

5
ответ дан Ulysses V 1 May 2016 в 16:51
поделиться

Ну, я поместил свои маршруты в файл json, который я прочитал в начале, и в цикле for в app.js установил маршруты. В файле route.json указывается, какой вид следует вызвать, и ключ для значений, которые будут отправлены в маршрут.
Это работает для многих простых случаев, но мне пришлось вручную создавать некоторые маршруты для особых случаев.

6
ответ дан TiansHUo 1 May 2016 в 16:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: