首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何导出使用对象析构定义的常量

如何导出使用对象析构定义的常量
EN

Stack Overflow用户
提问于 2019-01-01 12:43:30
回答 2查看 2K关注 0票数 3

在eslint的偏好-破坏规则的指导下,我定义了如下几个常量:

代码语言:javascript
复制
const {
    NODE_ENV,
    API_URL,
} = process.env;

是否可以通过export语句的前缀导出这些常量?

代码语言:javascript
复制
export const {
    NODE_ENV,
    API_URL,
} = process.env;

这看起来很自然,但eslint plugin-import抱怨违反了进口/命名规则:API_URL not found in '../constants'。事实上,export的这种用法在相关的MDN页面上也没有描述。

那么,我们必须在一个单独的export语句中重复所有常量吗?

代码语言:javascript
复制
const {
    NODE_ENV,
    API_URL,
} = process.env;

export {
    NODE_ENV,
    API_URL,
};
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-01 14:00:00

是否可以通过export语句的前缀导出这些常量? 出口NODE_ENV,API_URL,}= process.env;

是的,根据规格,这是完全有效的。您可以在导出的const的声明中使用析构模式。

这看起来很自然,但eslint plugin-import抱怨违反了进口/命名规则:API_URL not found in '../constants'

听起来那个插件坏了。事实上,您以前确实是用例据报为工作

票数 4
EN

Stack Overflow用户

发布于 2019-01-01 13:55:22

“规范”第15.2.2.3条规定:

..。ExportDeclaration :出口VariableStatement ExportDeclaration :出口申报单

第13.1.4条规定:

声明: LexicalDeclaration

第13.3条规定:

LexicalDeclaration: LetOrConst BindingList;LetOrConst : let const BindingList : LexicalBinding BindingList,LexicalBinding LexicalBinding: BindingPattern初始化器

因此,这一点:

代码语言:javascript
复制
 // ExportDeclaration
  export  // export
    // Declaration
    // LexicalDeclaration:
    const // LetOrConst
     // LexicalBindingList
     // LexicalBinding
     { NODE_ENV, API_URL } // BindingPattern
      = process.env; // Initializer

是完全有效的JavaScript。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53995529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档