Мы привыкли включать отдельно файлы javascript с использованием стандарта <script src="file.js"></script>
, но ... Мне действительно не нравится такой способ включения.Есть ли другие способы включить файл JavaScript?
Что касается разработчика с C#/C++ фоном, многие функции для меня представляют собой беспорядок.
Мне действительно не нравится путь, включая файлы js, но я понимаю, что это самая обычная практика.
С такими мыслями я предполагаю попробовать различные возможные способы.
Как я думал, есть два возможных пути, которые способны реализовать в том числе процесс:
1). Создайте динамический тег в мнимой функции - include()
, который я могу определить в своем прототипе (имитация класса в js).
Но ... Это почти так же, как стандарт, включая только динамическую логику, хранящуюся в прототипах, которая может динамически загружать некоторые необходимые модули веб-приложения.
И вот почему мне это не нравится, но это вариант, и я должен добавить это в список.
2). Динамическая загрузка js-файла через AJAX/WebSockets/SPDY
, что вы хотели или даже hanlding части загруженных файлов с выполнением функции partion (требуется какая-то логика или реализация некоторых шаблонов проектирования) со следующим выполнением функции eval()
и ее подготовкой в новой заданной функция include(args);
сделать сценарий Js выглядит следующим образом:
include("models.js");
include("dbController.js");
...
Да ... Я знаю, что eval()
есть зло в JavaScript мире, но я не знаю, имя другой функции, которая позволяет мне такой же функциональность.
Также ... Это может быть слишком медленно по сравнению с оригинальным способом включения, и я повторяю даже уязвимые.
Это два способа, которые я могу себе представить, возможно, вы предложите лучшее решение или убедите меня в некоторых плохих мыслях.
require.js, возможно? – Barmar
@ Barmar возможно :) спасибо за ссылку, я ее узнаю глубоко. –
Возможно, инструменты Closure. Вы можете скомпилировать весь код, совместимый с закрытием, в один файл, но все же ленивые части загрузки кода, которые определяют поведение, которое вряд ли будет использовать пользователь. Многие библиотеки не совместимы с компилятором и не будут скомпилированы с вашим кодом. Вам нужны экстерны для этих библиотек. – HMR