Javascript Vue.JS导入自定义模块

Javascript Vue.JS导入自定义模块,javascript,vue.js,module,vue-component,Javascript,Vue.js,Module,Vue Component,我创建了一个模块greatings.js,如下所示: function greatings() { this.hello = function() { return 'hello!'; } this.goodbye = function() { return 'goodbye!'; } } module.exports = greatings; 然后我将其导入VUE.js中的main.js,如下所示: import greatings from './ass

我创建了一个模块greatings.js,如下所示:

function greatings() {
  this.hello = function() {
    return 'hello!';
  }

  this.goodbye = function() {
    return 'goodbye!';
  }
}

module.exports = greatings;
然后我将其导入VUE.js中的main.js,如下所示:

import greatings from './assets/js/greatings';
Vue.use(greatings);
现在我想在我的组件中使用它,但如果我这样做,我会得到一个错误:

  mounted() {
    this.greatings.hello();
  }
错误:挂载钩子中的错误:“TypeError:无法读取未定义的属性“hello”

如何修复它并能够使用我的greatings? 谢谢你的帮助

使用Vue.use()注册自定义插件时,它必须定义一个install()函数,该函数由Vue调用。从文档:

Vue.js插件应公开安装方法。将使用Vue构造函数作为第一个参数以及可能的选项调用该方法


请参阅提供的示例,了解创建自定义插件时的所有选项:

greatings.js文件应如下所示

export default {
  hello() {
    return "hello";
  },
  goodbye() {
    return "goodbye!";
  }
};
然后像这样导入任何要使用的文件

export default {
  hello() {
    return "hello";
  },
  goodbye() {
    return "goodbye!";
  }
};
从“/assets/js/greatings”导入greatings


并调用您想要的任何函数。删除此函数
Vue.use(greatings)

谢谢。如何从mounted(){}调用hello函数?greatings.hello()?我出错了…你可以这样叫你好greatings.hello();mounted(){greatings.hello()}u assets_js_greatings_网页包_IMPORTED_MODULE_10______default.a.hello不是一个函数“你能帮我编写代码吗?谢谢Igor,这非常有用,但我正在尝试重用我的旧脚本;插件需要太多的更改。我会评估是否真的需要插件。谢谢你的建议。”