NodePackageImporter
层次结构
- NodePackageImporter
索引
构造函数
属性
构造函数
constructor
- new
Node (entryPointDirectory?: string): NodePackageImporterPackage Importer -
NodePackageImporter 具有一个可选的
entryPointDirectory
选项,它是 Node 包导入器在解析来自磁盘上文件以外的源的pkg:
URL 时应开始的目录。这将用作 Node 模块解析 算法中的parentURL
。为了被 Node 包导入器找到,包需要位于
entryPointDirectory
或其父目录之一(直至文件系统根目录)中的 node_modules 文件夹内。相对路径将相对于当前工作目录解析。如果未提供路径,则默认为 Node.js 入口点的父目录。如果不可用,则会引发错误。
参数
-
可选
entryPointDirectory: string
返回值 NodePackageImporter
-
属性
私有
只读
[nodePackageImporterKey]
[nodePackageImporterKey] : true
用于区分此类型与任何任意对象。
内置的 Node.js 包导入器。它根据标准 Node.js 解析算法从 node_modules 加载 pkg: URL。
Node.js 包导入器作为可以添加到
importers
选项的类公开。编写 Sass 包
包作者可以通过其
package.json
清单控制向其用户公开的内容。推荐的方法是向package.json
添加sass
条件导出。这允许包用户编写
@use "pkg:uicomponents"
来加载node_modules/uicomponents/src/scss/index.scss
中的文件。Node.js 包导入器支持 Node.js 包入口点 支持的各种格式,允许作者公开多个子路径。
这允许包用户编写
@use "pkg:uicomponents";
以导入根导出。@use "pkg:uicomponents/colors";
以导入颜色部分。@use "pkg:uicomponents/theme/purple";
以导入紫色主题。请注意,虽然库用户可以依靠导入器来解析 部分、索引文件 和扩展名,但库作者必须在
exports
中指定完整的文件路径。除了
sass
条件外,style
条件也是可以接受的。如果 Sass 是相关文件类型,则 Sass 将匹配default
条件,但作者不建议依赖此条件。值得注意的是,键的顺序很重要,导入器将解析为第一个键为sass
、style
或default
的值,因此您应该始终将default
放在最后。为了帮助尚未使用
exports
字段过渡到包入口点的包作者,Node.js 包导入器提供了几个后备选项。如果pkg:
URL 没有子路径,则 Node.js 包导入器将在package.json
的根目录中查找sass
或style
键。这允许用户编写
@use "pkg:uicomponents";
以导入index.scss
文件。最后,Node.js 包导入器将在包根目录中查找
index
文件,解析部分和扩展名。例如,如果文件_index.scss
存在于uicomponents
的包根目录中,则用户可以使用@use "pkg:uicomponents";
导入该文件。如果
pkg:
URL 包含包入口点中没有匹配项的子路径,则 Node.js 导入器将尝试在包根目录中找到该文件,解析文件扩展名、部分和索引文件。例如,如果文件src/sass/_colors.scss
存在于uicomponents
包中,则用户可以使用@use "pkg:uicomponents/src/sass/colors";
导入该文件。