7 个不稳定版本
0.4.3 | 2023 年 8 月 22 日 |
---|---|
0.4.2 | 2022 年 10 月 17 日 |
0.3.0 | 2022 年 10 月 17 日 |
0.2.0 | 2022 年 10 月 15 日 |
0.1.0 | 2022 年 10 月 14 日 |
#1965 in 网页编程
27 每月下载量
46KB
1K SLoC
ES Resolve
Rust 中 JavaScript/TypeScript 模块解析
安装
cargo add es_resolve
开始使用
use std::path::{Path, PathBuf};
use es_resolve::*;
// Provide an exact path to the file from which we resolve
let source = PathBuf::from("tests/fixtures/relative/js.js");
// Construct an `es_resolve::EsResolver`, then call `resolve` to get the result.
// Also check `es_resolve::EsResolverError` for a list of errors that might occur!
let target = EsResolver::new("./ts", &source, TargetEnv::Browser).resolve().unwrap();
let expected_target_path = Path::new("tests/fixtures/relative/ts.ts").canonicalize().unwrap();
let expected_target = expected_target_path.to_string_lossy();
// We expect to get the absolute path to the resolved target module!
assert_eq!(target, expected_target);
功能
通用功能
功能 | 状态 | 自 | 注意 |
---|---|---|---|
相对模块导入 | 👌 | 0.1.0 | import './App' 当存在 ./App.ts ./App.tsx ./App.js 等。 |
非相对模块导入 | 👌 | 0.1.0 | import '@angular/core' 。另请参阅 Package.json 支持。 |
TypeScript 路径映射 | 👌 | 0.1.0 | import '@/App' 当你在父 tsconfig.json 中定义 baseUrl 和 paths 。 |
Node 内置模块 | 👌 | 0.1.0 | 解析 node 内置模块,如 "http" ,而不是抛出错误。 |
Package.json 支持
功能 | 状态 | 自 | 注意 |
---|---|---|---|
主要字段 | 👌 | 0.1.0 | 默认尝试在 package.json 中的 "main" 、"browser" 、"module" 字段。 |
子路径导出 | 👌 | 0.1.0 | { "exports": { "import": "./index.mjs", "require": "./index.cjs" } } 在 package.json 中的使用越来越受欢迎。 |
子路径导入 | 👷 |
依赖项
~1.7–2.7MB
~52K SLoC