gpt4 book ai didi

javascript - 从对象导入属性

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:56:48 25 4
gpt4 key购买 nike

我正在尝试从函数文件中导入单个函数。函数文件如下所示。

const Functions = {
url(path = '') {
path = path.replace(/^\/+/, '');
return `${document.baseURI}/${path}`;
},

asset(path = '') {
return this.url(path);
}
};

export default Functions;

然后我尝试像这样导入 url 函数。

import {url} from "../Utils/Functions";

当我这样做时,我在浏览器中收到来自 browserify 的以下错误。

Uncaught TypeError: (0 , _Functions.url) is not a function

根据 MDN docs,这个导入应该工作,因为 urlFunctions 对象中。

我做错了什么?

最佳答案

您所做的是导出一个对象。

在这种情况下,您需要导入一个对象并访问其属性:

import Functions from "../Utils/Functions";
Functions.url();

如果你想进行命名导出——你需要改变你导出和定义它的方式:

function url(path = '') {
path = path.replace(/^\/+/, '');
return `${document.baseURI}/${path}`;
}

function asset(path = '') {
return this.url(path);
}

export { url, asset };

export function url(path = '') {
path = path.replace(/^\/+/, '');
return `${document.baseURI}/${path}`;
}

export function asset(path = '') {
return this.url(path);
}

作为另一个注意事项:它不是解构的,即使它看起来很相似。该标准将其命名为 ImportsList 并定义了自己的语义,与解构语义不同。

引用资料:

关于javascript - 从对象导入属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38606789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com