Я новичок в Vue и сейчас пытаюсь создать приложение vue, в котором я использую внешние локальные файлы javascript. Моя настройка:
-public
- index.html
- require.js
- src
- assets
- ex_app.js
- subfolder
- ex_component.js
- ...
- components
- my_component.vue
- ...
- main.js
Одна вещь, которая не упрощает задачу, заключается в том, что для использования внешних скриптов требуется js для загрузки зависимостей.
Что работает, так это поставить внешние источники в index. html by:
<script src="require.js"></script>
<script>require(["ex_app.js"])</script>
и оставьте ex_app. js как есть (он загружает файл ex_component. js по относительным путям using require).
Но проблема с этой настройкой в том, что мне нужно реагировать на события ex_app. js и я не знаю, как это сделать правильно. Поэтому я попытался переместить код из ex_app. js в мой my-component. vue в раздел скриптов и включить необходимый внешний скрипт в main. js :
мой-компонент. vue:
<template>
...
</template>
<script>
export default {
name: "Viewer",
data() {
return {
name: ""
};
},
mounted() {
this.$nextTick(() => {
this.myFunc()
})
},
methods : {
myFunc() {
var myExComp= new ExComp();
});
},
},
</script>
основной. js:
...
import ExComp from './assets/subfolder/ex_component.js'
Vue.use(ExComp);
...
Но потом получаю ExComp не определяется. Надеюсь, проблема прояснится. Я пытался абстрагироваться от этого.