Pull to refresh

Comments 15

Прочитав статью, я так и не понял:
1. Что может дать внедрение frontend-фреймворков в решения на sitefinity?
2. Почему вы решили использовать именно Vue?

Ну и вообще я считаю что данные способы требуют доработки, как минимум. Вы используете это в production?
1. Внедрение фреймворков дает доступ, непосредственно, к их возможностям, а также дает больше возможностей для js разработчиков, отдалив их(разработчиков) от Razor.
2. Рассматривались разные варианты, но выбор пал на Vue т.к. в нем легко инициализировать изолированные приложения, при необходимости, со своими стейтами на основе Vuex, а также с независимым друг от друга роутингом.

Данные способы все же имеют место быть. В production есть опыт интеграции Vue в разделах личного кабинета.
Ок. Тогда советую вам использовать Vue CLI если вы еще этого не делаете, у него есть возможность делать сборки отдельных компонентов, можно даже в виде веб-компонентов.

И еще исправьте, пожалуйста:
Но в таком случае код сам по себе не выполнится...

Выполнится, так как этот код уже вызывает функцию, а вы ее зачем-то заворачиваете в другую функцию и вызываете уже ее.

Если использовать режим сборки библиотеки и в качестве точки входа указать .vue файл, то чем это не отдельный компонент?

Это будет отдельный компонент, который не является приложением + есть некоторые отличия сборки библиотеки от приложения. А если собирать веб компоненты, то мы теряем, как минимум IE11 и, возможно, другие браузеры. К сожалению не все заказчики перешли хотя бы на Edge.
Тут вы сударь не правы, ибо для поддержки более старых браузеров существует babel и различные полифилы, которые позволяют компилировать vue приложения вплоть до IE 9.
.vue содержит шаблон компонента, а для компиляции bundle.js требуется точка входа (экземпляр).
Что-то я вас не понимаю.
Если вы хотите сделать билд отдельного компонента, то точкой входа будет файл .vue. Такой компонент вы сможете подключить на страницу и использовать во Vue-приложении.
Если же вы хотите билд готового приложения, то используете как точку входа main.js. Полученный файл вы подключите к странице и он все сделает сам.
Как подметил tvelforce, vue-cli действительно из коробки не умеет собирать отдельные компоненты, да и это просто надстройка над webpack.

По поводу выполнения кода — Вы правы, но при желании инициализировать приложения в определенном месте или после какого-то действия все таки придется оборачивать в функцию. С другой стороны webpack все равно обернет код в IIFE, в случае umd сборки.

Да, но вы вводите людей в заблуждение в статье. А если вы захотите "инициализировать приложения в определенном месте или после какого-то действия", то вам уже не IIFE нужна. Ну а если вебпак это сделает, то нам не надо делать это еще и самим. Прием безусловно хороший, но тут он не нужен.

Этот момент уже исправлен. Спасибо за поддержку.

Мне кажется не адекватно минусовать первую статью на хабре. Она выглядит вполне полезной.

Похоже на подход в SingleSPA на минималках :)
Но подход действительно хороший, успехов вам!
Спасибо)
На деле это самый простой способ внедрения фреймворков в виджеты/представления разного рода CMS.
Sign up to leave a comment.