В настоящее время я установил мои курьерские настройки приложения в app.js как так:экспресс-настройки приложения хранятся в отдельном файле
app.set('siteCategoryNo', '900');
app.set('brandCompanyName', 'Website Name');
app.set('brandDomainName', 'website.com');
Вместо этого я хотел бы хранить их в отдельном файле приложения-config.js как так:
/*
* app-config.js
*/
module.exports = function() {
var appSettings = {
settings: [{
key: 'siteCategoryNo',
val: '900'
}, {
key: 'brandCompanyName',
val: 'website name'
}, {
key: 'brandDomainName',
val: 'website.com'
}]
// all other settings omitted
}
return appSettings;
};
Это то, что app.js будет выглядеть так:
// all other code omitted
var configSettings = require('./app-config.js')();
for (var i = 0; i <= configSettings.settings.length; i++) {
var applicationSettings = configSettings.settings.pop();
app.set(applicationSettings.key, applicationSettings.val);
}
Я делаю это так, потому что я создаю почти идентичный сайт с другим разработчиком, но у нас есть разные настройки и маршруты. Мы надеемся, что это упростит процесс слияния.
Петля над ассоциативным массивом (если это то, что вы называете) работает только тогда, когда массив объектов находится в файле app.js. Я хотел бы разделить это на app-config.js, но как только я сделаю, ни один из моих варов не установлен.
Возможно ли это?
Кажется, у вас есть ошибка на единицу в 'for' цикла. Это должно быть строгим знаком '<' в условии цикла. – Thevs
Спасибо @Thevs Я с тех пор заменил его на цикл forEach, который предложен ниже, MinusFour. –