我有一个项目是vue.js插件,另一个是vue.js SPA。
但是我尝试在SPA项目中导入我的vue.js插件总是未定义。
vue.js插件导出如下:
export function install(Vue,config){
//do something
}
并且它的webpack输出设置为umd
我导入我的插件:
import MyPlugin from 'my-plugin'
console.log(MyPlugin)//undefined
Vue.use(MyPlugin)//throw error 'Cannot read property 'install' of undefined'
所以我检查编译bundle.js
中的代码,然后我看到了这个
console.log(_myplugin2.default);
但是如何强制使用_myplugin2
作为插件?
答案 0 :(得分:1)
Webpack假设您已导出export default {
install: function(Vue,config) {
//do something
}
}
属性。
你可以这样做:
default
如果您不想使用export const MyPlugin = {
install: function(Vue,config) {
//do something
}
}
,则需要使用命名变量将其导出:
import { MyPlugin } from 'my-plugin'
然后专门引用导入时的变量引用:
MainWindow
答案 1 :(得分:0)
我最后使用另一个脚本作为webpack条目。
entry.js:
module.exports=require('./main')
main.js:
function install(Vue,config){
//something
}
export default {install}
然后可以在window.myplugin
和import myplugin from 'myplugin'