typescript - TypeScript 模块导入路径映射
问题描述
我没有使用 WebPack 或其他人,而是尝试使用本机浏览器ES-Module system(ESM)。
在 TypeScript 中,对引用本地 NPM 安装模块的源代码进行编码。
import * as React from "react";
import * as ReactDOM from "react-dom";
import { SubComponent } from './sub-component';
那么转译后的 JavaScript 代码是:
import * as React from "react";
import * as ReactDOM from "react-dom";
import { SubComponent } from './sub-component';
到目前为止,这并不好,因为使用 JavaScript 代码执行时引用的实际路径应该是:
import * as React from "../esm/react.js";
import * as ReactDOM from "../esm/react-dom.js";
import { SubComponent } from "./sub-component.js";
(注意:我在此代码和路径中有一个可用的 react/react-dom ESM 文件,因此转换后的输出必须正是此代码。)
我已阅读https://www.typescriptlang.org/docs/handbook/module-resolution.html ,但不知道具体要写什么来设置映射。
tsconfig.json
这不起作用:
{
"compilerOptions": {
//.........
"baseUrl": ".",
"paths": {
"react": [
"../esm/react.js"
],
"react-dom": [
"../esm/react-dom.js"
],
"./sub-component": [
"./sub-component.js"
],
}
}
}
什么是正确的方法?谢谢。
解决方案
推荐阅读
- swiftui - 如何在 tvOS 上使用 SwiftUI 在多个水平列表之间导航
- sql-server - 将 SQL Server 存储过程添加到实体框架模型的推荐方法是什么
- ios - 如何在Xcode swift中为ui标签使用if语句
- react-native - 安装 Appodeal 后如何修复“程序类型已存在:com.reactlibrary.BuildConfig”
- react-native - 如何在 Ionic React 应用程序中固定 SSL 证书
- flutter - 如何仅使用 PageView 显示下一张卡片的边缘
- grails - Json 文件解析 - Groovy
- sql - SQL 查询从当前日期每周显示日期
- javascript - 因此返回一个 JSX 必然会使函数成为一个组件?
- typescript - NPM 仅安装后依赖项