Javascript 全局助手js函数的放置位置

Javascript 全局助手js函数的放置位置,javascript,vuejs2,vuex,Javascript,Vuejs2,Vuex,我打算在整个Vue.js 2应用程序中(即在组件和vuex中)使用几个助手函数。我在这里使用的示例,toCurrency,将数字转换为货币字符串。我想知道这个helper函数最好放在哪里。我现在把它放在我的store.js文件的顶部(显然我使用的是vuex),并在整个文件中调用它。然而,这意味着当我想在组件中使用它时,我还需要将它定义为方法。是否有更好的地方放置它们,这样我就不必继续定义它,或者这是最好的地方 import Vue from 'vue' import Vuex from 'vue

我打算在整个Vue.js 2应用程序中(即在组件和vuex中)使用几个助手函数。我在这里使用的示例,
toCurrency
,将数字转换为货币字符串。我想知道这个helper函数最好放在哪里。我现在把它放在我的
store.js
文件的顶部(显然我使用的是
vuex
),并在整个文件中调用它。然而,这意味着当我想在组件中使用它时,我还需要将它定义为
方法。是否有更好的地方放置它们,这样我就不必继续定义它,或者这是最好的地方

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

function toCurrency(num){
    return "$" + num.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
}

export default new Vuex.Store({
    state: {
        price: 2
    },
    getters: {
        numString: state => {
            return toCurrency(state.funds)
        }
    },
    mutations: {
        decrementOne: state => {
            state.num --;
            alert("Price decremented to " + toCurrency(state.funds))
        }
    }
})

这听起来像是一个完美的例子。基本上,我会首先设置一个地址,比如
this.$helperfunctions
,然后继续将我的所有方法直接添加到这个实例成员上,之后它们将可供应用程序的其余部分使用

import myObjectFullOfMethods from '../somewhere/foo/bar.js';

new Vue({
  beforeCreate: function() {
    this.$helperfunctions = new myObjectFullOfMethods();
  }
})

这看起来很棒。我可以在Vuex中使用这些吗?或者我需要在那里对它们进行优化吗?@JohnnyMetz在导入Vue实例的任何地方都可用:-)使用
this.Vue.$helperfunctions
例如,是否有方法在Vuex.Store模块中使用它?。模块的上下文是
Store
和no
this.Vue
那里..您的Vue实例始终在从“Vue”
导入Vue的
范围内,这将始终返回Vuex中的主Vue实例。