Vue CLI 3 Добавление функции eval к ​​пользовательским тегам шаблона - PullRequest
0 голосов
/ 10 сентября 2018

Я использую сервер webpack-dev для разработки приложения Vue (Vue CLI 3). Наша компания использует собственный язык шаблонов, похожий на ASP.NET (функции начинаются с префикса <% и заканчиваются суффиксом%>, и они оцениваются на стороне сервера), и это, кажется, вызывает проблему с сервером webpack-dev. В приведенном ниже примере я пытаюсь установить для переменной specs значение <%json_item_specifications%>:

  export default {
  name: 'HelloWorld',
  props: {
    msg: String
  },
  data() {
    return {
      specs: <%json_item_specifications%>,
    }
  }
}

В приведенном выше примере webpack выйдет из функции json с функцией eval и вернет ее как часть экспорта:

eval("__webpack_require__.r(__webpack_exports__ ...

Ведущий eval вызывает разрыв страницы, и я не уверен, какая именно часть стека веб-пакетов вызывает это. Я использую упакованный веб-пакет, который поставляется с vue-cli 3, и я знаю, что использует Babel под капотом.

Я полагаю, что Babel из веб-пакета анализирует <% как некоторый другой язык и дописывает eval, но я не могу найти параметры конфигурации анализатора онлайн. У кого-нибудь были проблемы с кодом синтаксического анализа vue-cli таким образом? </p>

Любая помощь приветствуется!

1 Ответ

0 голосов
/ 10 сентября 2018

У меня есть две идеи по вашей проблеме:

  1. Вы должны попробовать использовать X-шаблоны (вместо Single File Components) или встроенные шаблоны с автономной версией Vue. ты можешь читать Подробнее об этом здесь: https://sebastiandedeyne.com/dealing-with-templates-in-vue-20
  2. Другим возможным решением является локализация спецификаций. У меня есть опыт работы только с Wordpress (PHP), но там вы можете создать объект Javascript через PHP для настроек, которые вы можете прочитать позже внутри шаблона.
...