Используйте CDN для мгновенных игр Facebook в проекте Vue - Webpack - PullRequest
0 голосов
/ 22 декабря 2018

Я хочу сделать Мгновенную игру на Facebook с Vue.Но у facebook просто есть cdn для файла js.

<script src="https://connect.facebook.net/en_US/fbinstant.6.2.js"></script>

Если я импортирую cdn в индексный файл, я все равно не могу использовать его в компонентах.Vue показывает неопределенную ошибку.

Я попытался импортировать ее в index.js сразу после тега body и инициализировать в переменную окна.Но, похоже, это тоже не работает.

<script>
  window.onload = function() {
    window._FBInstant = FBInstant;
    FBInstant.initializeAsync()
    .then(function() {        
      // Start loading game assets here
      FBInstant.startGameAsync().then(function() {
        startGame();          
      });
    });
  }
  </script>

Ответы [ 2 ]

0 голосов
/ 04 января 2019

Вставьте тег сценария CDN для мгновенной игры Facebook сразу после тега <body>.

Не используйте cdn или direct <script> include для импорта vuejs в ваш проект.

Загрузитеvuejs - производственную версию и сохраните ее в папке проекта и сожмите (связывайте) вместе с другими файлами игры в zip во время загрузки на веб-хостинг.

после fb cdn, включите <script src="js/vue.js"></script> из файлов.

Таким образом, вы можете использовать facebook sdk, а также vuejs в мгновенных играх.

0 голосов
/ 22 декабря 2018

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

data: () => ({ FBInstance: null}),
created() {
  this.FBInstance = window._FBInstant
}

, и если вы хотите использовать его глобально, вы можете сделать тот же трюк внутри mixin

Vue.mixin({
  data: () => ({ FBInstance: null}),
  created() {
      this.FBInstance = window._FBInstant
  }
})
...