#jquery #node.js #npm #webpack
#jquery #node.js #npm #webpack
Вопрос:
Здесь новичок-интерфейсный разработчик. В старые времена для включения плагина jquery третьей стороны обычным подходом было включение <script>
тега в HMTL, который обычно ссылается на некоторые размещенные файлы js / css.
Теперь с пакетами npm вы обычно выполняете npm install package_name
и import xx from 'package-name'
. И есть также webpack, который вступает в игру, что только делает вещи более запутанными. Я знаю, что при использовании webpack вы не должны связывать сторонние плагины jquery с окончательным bundle.js выход. Означает ли это, что при развертывании рекомендуется использовать размещенные файлы css / js для разрешения зависимостей?
В чем разница между двумя подходами? Один для разработки, а другой для развертывания?
Ответ №1:
Импорт сторонних модулей (и не только) помогает писать более модульный код и помогает разделить ваш код на несколько файлов. Преимущество этого шаблона в том, что вам не нужно вручную разрешать зависимости, явно определяя их в ваших HTML-скриптах. Вполне возможно, когда проект растет, потерять контроль над всеми этими файлами, испортить порядок их включения и, наконец, все сломать. В случае импорта вы определяете в рамках своей функциональности, каковы зависимости, и вы не полагаетесь на порядок включения файлов в HTML-документ. Импорт пока не поддерживается изначально из всех браузеров и даже из узла до сих пор. Итак, вот когда в игру вступают Babel и webpack. По мере разработки импорт должен быть переведен на то, что понимают браузеры и узлы, и вы можете использовать babel для этого (никогда не работал с Webpack, но, возможно, вы можете сделать то же самое). Babel и Webpack гарантируют, что зависимости будут разрешены и, наконец, создадут еще один js-файл, который будет скомпилирован в чистый javascript, понятный браузерам и узлу. Webpack и babel следует использовать как для разработки, так и для развертывания.
Существуют и другие шаблоны, которые вы можете использовать для включения модулей, таких как шаблон amd и common.js шаблон (он очень похож на импорт).
Ответ №2:
Я думаю, разница в том, что новые тенденции в веб-разработке предъявляют новые требования, например, к отложенной загрузке ресурсов, поэтому теперь старый способ включения скриптов в html бесполезен, потому что это не соответствует требованиям