Я работаю над системой плагинов для моего приложения sails.js. По соображениям безопасности мне нужно избавиться от глобальной переменной sails
, в которой хранятся данные, такие как содержимое файлов конфигурации и т. Д. Я не хочу определять его глобально, так как это нарушит мое приложение. Точка входаНеопределенные глобальные переменные в определенных файлах
писать софт будет выглядеть следующим образом:
module.exports = function (pluginManager) {
return { ... }
}
Где pluginManager
будет единственным разрешенным ссылка на код приложения.
Возможно ли выполнить код плагина в изолированной среде в виде песочницы? Я рассмотрел использование API child_process
, но я не знаю, насколько это повлияет на производительность и стабильность приложения.
Wow, sails использует глобальные переменные? Какой ужасный выбор дизайна! –
Да, но с другой стороны, для того, чтобы требовать, чтобы каждая модель была бы очень больной. – Selenir