Да, все в порядке. Так мы обычно инициализируем фронтенд-проекты (возможно, иногда какой-то скрипт более высокого уровня делает это за нас, но все же). Просто запустите npm init
.
О, да, это очень плохо. Скорее всего, это просто не будет работать. Если вы хотите загрузить что-то непосредственно на страницу, вам нужна версия cdn.
Если честно, наличие package.json
не так полезно без такого инструмента для сборки, как webpack, gulp или хрюканье.
UPD : Относительно почему загрузка вещей напрямую из node_modules
может повредить:
Много современных JS пакетов ( как, например, React) использовать модули , которые еще не реализованы ни в одном браузере, или синтаксис ES5 +, который поддерживается только некоторыми браузерами.
Таким образом, вы можете загрузить React напрямую, но взломает sh в любом браузере с чем-то вроде import is not defined
.
В принципе, много современных пакетов ожидают, что у вас будет либо инструмент для сборки, либо вы используете версию cdn.
Честно говоря, я не знаю, сколько пакетов позволяет беспрепятственно загружать вещи прямо из node_modules
.
Итак, в вашей конкретной ситуации я бы сказал, что если конкретные пакеты, которые вы используете, позволяют вам делать так и поставляются с браузер-совместимой версией, вы можете только на 1063 * впереди и сделайте это так.
Тем не менее, я считаю весьма вероятным, что рано или поздно вы столкнетесь с пакетом, который не позволит вам включить его таким образом ( или хуже : будет, но взломает sh некоторые браузеры, которые не поддерживают новейшие JS функции / привнесут другие неприятные ошибки в ваше приложение).
Надеюсь, на на этом этапе у вас уже будет настроен инструмент построения.
Бонус : сравнительно недавно некоторые браузеры начали поддерживать модули !
Есть даже такие инструменты, как снежный покров , которые делают нечто особенно похожее на то, что вы ищете.
Несмотря на то, что вам все равно нужно быть очень осторожным с этим. Например, прямое включение loda sh. js сгенерирует 640 GET (см. эту статью -> раздел «Библиотеки»).