Vue.js над электронным на существующем приложении - PullRequest
0 голосов
/ 09 ноября 2018

Я постараюсь объяснить всю мою ситуацию:

Я написал приложение CLI в node.js, которое начало расти, я начал с парсера, после чего я создал веб-API для взаимодействия с парсером, и, наконец, я создал веб-приложение, которое, потребляя API, отображает информацию , Это веб-приложение основано на vue.js

Я начал работать над тем, чтобы собрать все это вместе с помощью электрона, поэтому я установил пакет npm electron для моего парсера, создал сценарии main и renderer, обновил package.json, добавил простой HTML и дал мне Первое окно с рендерингом.

С этого момента я начал перемещать код из моего предыдущего веб-проекта. Я думал, что это будет легко сделать, всего лишь несколько изменений в веб-коде (он пока очень прост, в основном один глупый js, один html и библиотеки (Bootstrap и vue.js)

Достаточно скоро я понял, что пакет npm vue (vue-cli, electronic-vue и т. Д.) (Как утверждается) - это путь для электронных приложений, о чем говорилось в нескольких ресурсах:

Дело в том, что большинство из них исходят из того, что у вас ничего нет, и они используют шаблон для создания скелета пустого приложения Electron / Vue. Но мой случай другой, у меня есть готовый бэкэнд, я уже подключил электрон к этому бэкэнду

Итак ... Что за вопрос?

Вопрос прост: каковы преимущества и недостатки простого использования <script src="vue.js"></script> в электронном графическом интерфейсе вместо использования пакета npm? Я смог заставить vue.js работать таким образом, но, поскольку я не видел ни одного ресурса, делающего это, мне интересно, доберусь ли я в какой-то момент до дальнейших проблем. В частности:

  1. Должен ли я пойти на шаблон и начать подключать мой предыдущий код к этому?
  2. Если я использую подход <script src=..., будет ли упаковка болезненной?
  3. Есть ли какие-либо преимущества в использовании npm vue (помните, что я использую только для отображения результатов, которые я уже проанализировал)
  4. Если бы вы могли указать мне на ресурс, который упоминает этот путь, очень признателен.

Я хотел бы знать, что может (или обязательно может) пойти не так.

Заранее спасибо!

1 Ответ

0 голосов
/ 14 ноября 2018

Не уверен на 100%, полностью ли я понимаю ваши вопросы, но я постараюсь ответить как можно лучше.

1. Должен ли я пойти на шаблон и начать подключать мой предыдущий код к этому?

Да и нет. Основная причина использования этого подхода заключается в том, что при использовании стандартного шаблона гораздо проще получить помощь по проекту, если вы столкнетесь с проблемами в дальнейшем. Использование вашего собственного решения означает, что меньше людей смогут понять, в чем заключается ваша проблема, и еще меньше людей захотят создать собственный проект, чтобы воссоздать вашу проблему и помочь отладить ее.

Однако, вам не нужно идти с шаблоном, шаблоны были сделаны людьми, похожими на вас. Вы, возможно, могли бы где-нибудь выложить свой код и назвать его образцом, который другие люди начнут использовать, если они захотят создать проект на основе электроники и электроники. Если ваш проект работает с вашим подходом и имеет смысл для вас, нет никаких причин, по которым вам нужно соответствовать тому, как другие люди делают вещи.

2. Если я использую <script src=... подход, будет ли упаковка болезненной?

(отредактировано после уточнения)

Существует два основных способа распространения приложения Vue. Статическая или серверная сторона отображается. Статический означает, что вы генерируете статические html-файлы и сценарии, которые вы можете распространять на любой веб-хостинг на рынке, и он будет работать нормально. Предоставляемая сторона сервера - это в основном ваш собственный маленький сервер, например веб-сервер Apache, который компилирует ваши файлы, когда пользователь запрашивает ваш сайт.

Для приложения на стороне сервера, которое вы запускаете и разрабатываете свой код в виде смеси кода Node.js. для вашего сервера / бэкенда, и Ecmascript для вашего кода на стороне клиента, который перед отправкой пользователю скомпилируется в простой javascript. , Прежде чем списать это как не вариант для вас, я хочу упомянуть, что DigitalOcean позволяет вам создавать «капли» (виртуальные машины), которые вы наиболее определенно можете использовать для целей производственного уровня, поэтому вы можете запустить свой сервер в виде капли за 5 долларов США за каждый. месяц и просто использовать регистратор для регистрации вашего домена. Это на самом деле дешевле и дает вам больше возможностей для управления вашим сервером, и, по моему опыту, оно также более безопасно и более эффективно (частично потому, что вы можете просто обновить свою капельку, если она недостаточно быстра). Как правило, это дешевле, чем веб-отель.

Для статического веб-сайта у вас есть два варианта, с Webpack или без него (с Webpack намного лучше).

Без Webpack вы, как и вы, просто включили бы версию Vue <script=, а затем разработали свою программу исключительно на javascript. Это более утомительно и в конечном итоге приводит к ухудшению производительности и плохому рабочему процессу, хотя и работает.

С Webpack вы пишете свое приложение в Ecmascript, где вы бы import Vue, чтобы Webpack мог скомпилировать все ваши скрипты и .vue файлы в один main.js файл. Импортируя Vue и все ваши компоненты, Webpack может убедиться, что вы когда-либо выполняете только тот код, который действительно должен быть запущен, так что вы получите значительное повышение производительности.

Есть ли проблемы с упаковкой? Нет, пока все, что вам нужно, это основной файл vue.js, но по мере того, как ваш проект становится все больше и нуждается во все большем количестве компонентов и плагинов Vue из других источников, вы получите множество script= тегов, загромождающих ваш веб-сайт. , Это работает, просто проще просто иметь тег script="main.js", а затем позволить Webpack сгенерировать main.js для вас.

Взгляните на базовый проект Webpack + Vue. Это даст вам лучшее представление о том, как работает проект Webpack.

  1. Установить vue-cli: npm install -g vue-cli
  2. Создать простой проект: vue init webpack-simple my-project

3. Есть ли какие-либо преимущества в использовании npm vue (помните, я использую только для отображения результатов, которые я уже проанализировал)

(отредактировано после уточнения)

Помимо вышеупомянутого? Нет. Это больше связано с тем, хотите ли вы использовать Webpack или нет, и если вам когда-нибудь понадобится больше компонентов / плагинов для Vue, разработанных другими людьми.

Различия в производительности при загрузке только Vue с script= против require? Незначительно.

Различия в производительности при загрузке дополнительных компонентов и плагинов Vue? Заметно, все больше и больше в зависимости от размера вашего проекта. Требовать загрузки, когда это необходимо, скрипт загружается независимо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...