Чтобы быть очень ясным, Javascript на стороне клиента (загружаемый с удаленного сервера в стандартный веб-браузер) не может быть защищен от просмотра и / или изменения независимо от того, как вы его запутываете после реконструкции («де-обфускации») Первоначальный источник технически тривиален. (Обфускация Javascript - просто еще один пример широко используемого неправильного определения безопасности «безопасность через неизвестность».)
Если вы хотите использовать Javascript и Node.js для предоставления защищенного «продукта» (который в этом контексте является приложением или услугой, требующей установки на сервере, который ваша компания не контролирует), вы не можете защитить его как единственный Доступная вам опция (обфускация) такой защиты не обеспечивает.
Следует отметить, что даже если ваш продукт предоставляется в виде двоичного исполняемого файла, это не гарантирует, что вы сможете защитить интеллектуальную собственность, которую он содержит, поскольку любой двоичный файл можно декомпилировать в понятный формат. В этом случае мы получаем некоторый уровень безопасности, основанный на чрезмерных ресурсах (время / опыт), необходимых для преобразования низкоуровневого машинного кода (как предусмотрено декомпиляцией) в логические конструкции более высокого уровня, используемые современными языками программирования. (Это от того, кто однажды декомпилировал CP / M, чтобы понять его внутренний дизайн вручную.;)
Однако все еще не потеряно: если мы предположим, что можно защищать интеллектуальную собственность программным путем (жюри все еще не решено), есть способ предоставить продукт на основе Node.js безопасным способом, но это не для технично-технических приключений, так как для этого потребуется существенный рефакторинг исходного кода Node.js (чтобы добавить поддержку криптографически безопасных библиотек и удалить или иным образом защитить - отражение объектов для ваших проприетарных библиотек.)