有没有一种方法可以在JavaScript中创建可以在Vue代码中使用的String资源文件?

时间:2019-05-16 08:28:39

标签: javascript vue.js

我想摆脱与Axios一起使用的所有硬编码端点。所以我想将它们替换为资源文件。

我创建了一个constants.js文件,并将此文件导入到Vue组件中。当我引用此文件中的值时,我看到constants.js文件中的String值是未定义的。

//这是constants.js文件

const endpoint_constants = {
    COMPANIES_ENDPOINT: "users/companies",
    SERVICES_ENDPOINT: "services",
    SERVICES_TYPE_ENDPOINT: "services/types",
    VENUES_ENDPOINT: "services/venues"
};

//这在我的布局文件中。

import constants from "../constants.js"
   axios.get("http://localhost:8080/" + constants.SERVICES_TYPE_ENDPOINT)
                .then(response => (this.services = response.data))
                .catch(error => (console.log(error)));

我希望constants.js的字符串在URL的末尾串联,但是我得到的是Undefined。

1 个答案:

答案 0 :(得分:1)

您需要将对象导出到constants.js文件中。

const endpoint_constants = {
    COMPANIES_ENDPOINT: "users/companies",
    SERVICES_ENDPOINT: "services",
    SERVICES_TYPE_ENDPOINT: "services/types",
    VENUES_ENDPOINT: "services/venues"
};
export default endpoint_constants

然后将其导入,

import endpoint_constants from './constants.js';


axios.get("http://localhost:8080/" + endpoint_constants.SERVICES_TYPE_ENDPOINT)
                .then(response => (this.services = response.data))
                .catch(error => (console.log(error)));