Обновление: см. Редактирование в конце
Продолжение моего предыдущего вопроса здесь: Включить компонент Vue.js в плагин Wordpress без CDN
Очень уместный ответ Окбы вызывает у меня головную боль. Как мне создать что-то с Vue.js, которое я могу использовать в wordpress?
Я работаю с Vue-cli. Я попытался создать свой проект как библиотеку, используя эту командную строку:
vue-cli-service build --target lib --name myVueLibrary ./src/main.js
А затем импортируем файлы dist/* в wordpress:
wp_enqueue_script('myPlugin', plugin_dir_url(__FILE__) . './my-plugin.js', [], '0.1', true);
wp_enqueue_script('myVueLibrary', './vue-plugin/myVueLibrary.common.js', [], '0.1.0');
где my-plugin.js выглядит так (я использую короткие коды для замены содержимого <div> тем, что там помещает мой плагин):
var elements = document.querySelectorAll('[my-plugin-atts]');
elements.forEach(function (element) {
var atts = JSON.parse(element.getAttribute('my-plugin-atts'));
var vm = new Vue({
el: element,
created: function () {
this.atts = atts;
},
template: '<div class = "plugin-container">{{atts.id}}</div>'
});
});
И я получаю следующую ошибку:
Uncaught ReferenceError: Vue is not defined
Но ! Если я заменю свой импорт vueBaoViz.common.js импортом Vue CDN, мой плагин wordpress отобразит то, что я хочу отображать.
wp_enqueue_script('myPlugin', plugin_dir_url(__FILE__) . './my-plugin.js', [], '0.1', true);
wp_enqueue_script('vue', 'https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.js', [], '2.5.16');
Я предполагаю, что моя сборка Vue не в порядке, как мне создать что-то, что я могу использовать как это, и которое содержит Vue.js внутри себя?

1 - Вы можете использовать vue js - non spa, из cdn или с помощью webpack, посмотрите https://vuejs.org/v2/guide/#Composing-with-Components, чтобы узнать, как вы будете использовать vue js в обычных файлах js.
2- Вы можете использовать vue-cli как стандартный проект спа с wordpress rest api: https://developer.wordpress.org/rest-api/
Импорт производственного файла vue.js (загруженного прямо с их веб-сайта) в соответствии с инструкцией по установке не работает, и я не хочу использовать версию CDN. Использование API отдыха Wordpress кажется излишним для того, что я хочу делать.
Итак, оказывается, я идиот, я забыл добавить plugin_dir_url(__FILE__) перед путем при загрузке локального файла. Это решило мою проблему.
Вы также можете попробовать использовать эту стартовую тему Wordpress Vue: github.com/EvanAgee/vuejs-wordpress-theme-starter