在将程序包导入到我的代码时,例如:
import { Text, View, StyleSheet } from "react-native";
我怎么知道软件包Text
中可用的View
,react-native
等实用工具功能的完整列表?
是否存在任何npm命令。我在https://www.npmjs.com/package/react-native中也找不到任何这样的列表/文档。
答案 0 :(得分:1)
您无法完全运行npm命令,因为npm
是node
的软件包管理器,在npm中运行的命令将用于软件包管理,而在node
本身中运行的命令是获得实用程序功能所需要的。
我对此进行了大量研究,找到了一个解决方案。您要做的是,在安装要使用npm
检查的软件包之后,假设它是discord.js
:
npm install discord.js
现在,直接运行节点,不需要index.js
或任何其他文件。
node
然后,使用以下命令:
Object.keys(require('discord.js'))
在节点中时,这将返回其所有实用程序的列表。当然,该示例使用的是discord.js
,尽管它可以是具有实用程序功能的任何npm软件包。
这应该返回如下内容:
[
'BaseClient', 'Client', 'Shard',
'ShardClientUtil', 'ShardingManager', 'WebhookClient',
'ActivityFlags', 'BitField', 'Collection',
'Constants', 'DataResolver', 'BaseManager',
'DiscordAPIError', 'HTTPError', 'MessageFlags',
'Intents', 'Permissions', 'Speaking',
'Snowflake', 'SnowflakeUtil', 'Structures',
'SystemChannelFlags', 'UserFlags', 'Util',
'version', 'ChannelManager', 'GuildChannelManager',
'GuildEmojiManager', 'GuildEmojiRoleManager', 'GuildMemberManager',
'GuildMemberRoleManager', 'GuildManager', 'ReactionManager',
'ReactionUserManager', 'MessageManager', 'PresenceManager',
'RoleManager', 'UserManager', 'discordSort',
'escapeMarkdown', 'fetchRecommendedShards', 'resolveColor',
'resolveString', 'splitMessage', 'Base',
'Activity', 'APIMessage', 'BaseGuildEmoji',
'CategoryChannel', 'Channel', 'ClientApplication',
'ClientUser', 'Collector', 'DMChannel',
'Emoji', 'Guild', 'GuildAuditLogs',
'GuildChannel', 'GuildEmoji', 'GuildMember',
'GuildPreview', 'Integration', 'Invite',
'Message', 'MessageAttachment', 'MessageCollector',
'MessageEmbed', 'MessageMentions', 'MessageReaction',
'NewsChannel', 'PermissionOverwrites', 'Presence',
'ClientPresence', 'ReactionCollector', 'ReactionEmoji',
'RichPresenceAssets', 'Role', 'StoreChannel',
'Team', 'TeamMember', 'TextChannel',
'User', 'VoiceChannel', 'VoiceRegion',
'VoiceState', 'Webhook', 'WebSocket'
]
discord.js
中基本上提供了所有实用程序功能。现在,有时候,您会遇到此错误:
SyntaxError: Cannot use import statement inside the Node.js REPL, alternatively use dynamic import
这是因为我从node
而不是从模块或应用程序运行它。然后,如果您在非模块软件包(例如discord.js
中的漫游器)中尝试,它将返回此错误:
SyntaxError: Cannot use import statement outside a module
如果您要创建模块并从模块内部调用import,则不会出现以上两个错误。
这是因为discord.js
机器人不是模块,如果我在package.json
中强行定义模块,它将破坏。在这种情况下,您无法从内部进行任何操作,可以尝试查找它的文档或源代码以自行找到它。
以下是使用此命令的一些参考:
答案 1 :(得分:0)
您可以这样做
import Rn from "react-native";
console.log(Object.keys(Rn));