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

更新日期: 2021-04-01 阅读次数: 7856 字数: 189 分类: Javascript

例如在一段 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 聊聊, 查看更多联系方式