TypeScript模块导入路径映射

时间:2018-08-10 15:04:18

标签: typescript module

我不使用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"
      ],
    }
  }
}

正确的方法是什么?谢谢。

0 个答案:

没有答案