我想摆脱与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。
答案 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)));