我已经使用Vue.js
生成了示例vue-cli
项目,并由
vue build --target lib --name myWidget src/main.js
我必须使用Requirejs
来加载它:
<script>
requirejs.config({
paths: {
"Vue": "https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue",
"myWidget": "https://codematic.tech/yamaWidget.umd",
}
});
</script>
<script>
require(["Vue"], function (Vue) {
console.log('Vue loaded');
require(["myWidget"], function (widget) {
console.log('Widget loaded');
});
});
</script>
看起来应该可以,但是我遇到了一个错误:
TypeError: Cannot read property 'config' of undefined
指向
Vue.config.productionTip = false
在源代码中。在要求Vue = window.Vue;
之后,我设法通过在Vue的main.js文件中添加window.Vue = Vue
和在<script>
标记中添加Vue
来解决此问题。库正在加载,正在装入#app
中。看起来很奇怪,但是正在工作。
问题是当我将某些内容导入Vue的main.js
文件中时。例如
import Snotify from 'vue-snotify';
在下面给我一个错误:
Cannot read property 'extend' of undefined
这导致我进入行:
var script = external_commonjs_vue_commonjs2_vue_root_Vue_default.a.extend({
顺便说一句-当我直接通过<script>
标签加载Vue.js和myWidget.umd.js时,一切工作正常!
答案 0 :(得分:0)
已解决。问题是外部库vue-snotify
导致了此问题。