import vue.js插件未定义

时间:2017-10-03 12:41:36

标签: webpack ecmascript-6 vue.js babel

我有一个项目是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作为插件?

2 个答案:

答案 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

Here's a working example.

答案 1 :(得分:0)

我最后使用另一个脚本作为webpack条目。

entry.js:

module.exports=require('./main')

main.js:

function install(Vue,config){
  //something
}
export default {install}

然后可以在window.mypluginimport myplugin from 'myplugin'

中进行访问