node module 包名以 @ 符号为前缀是什么意思

文章目录

    例如在一段 Ant Design Pro V5 的代码中看到:

    import { Button, message, Input, Drawer } from 'antd';
    import React, { useState, useRef } from 'react';
    import { useIntl, FormattedMessage } from 'umi';
    import { PageContainer, FooterToolbar } from '@ant-design/pro-layout';
    import type { ProColumns, ActionType } from '@ant-design/pro-table';
    

    其中 @ant-design/pro-table 这个包是以 @ 符号开头的,而其他包则没有这个前缀。

    @ 前缀的含义

    参考

    https://stackoverflow.com/questions/36293481/use-of-symbol-in-node-module-names

    以这种格式命名的包,遵从这个规范:

    @myorg/mypackage

    @组织名/包名

    这种包被称为 Scoped Package。

    Scope

    Scope 的定义非常宽泛,一个普通开发者,或者组织都可以定义一个 Scope。

    这样带来的好处就是,不用担心自己命名的包名与其他人、组织的包名冲突。

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式