Typescript 带有打字稿的包裹&;没有LRC的TSX?

Typescript 带有打字稿的包裹&;没有LRC的TSX?,typescript,parceljs,infernojs,Typescript,Parceljs,Infernojs,我刚开始了解parceljs,发现它非常令人愉快,但有一件事似乎有些过分: 我正在使用parceljs将infernojs的tsx文件传输到javascript。 但是,生成的代码包含原始的React.createElement函数,该函数显然无法工作: inferno_1.render(React.createElement(“div”,null,“woot”),document.getElementById(“app”) 我看到过一些例子,其中使用了一个.babelrc文件和一个插件babe

我刚开始了解parceljs,发现它非常令人愉快,但有一件事似乎有些过分:

我正在使用parceljs将infernojs的tsx文件传输到javascript。 但是,生成的代码包含原始的React.createElement函数,该函数显然无法工作:

inferno_1.render(React.createElement(“div”,null,“woot”),document.getElementById(“app”)


我看到过一些例子,其中使用了一个.babelrc文件和一个插件babel plugin inferno,这似乎是可行的,但由于它添加了各种babel依赖项,我只是想知道,在没有额外负担的情况下,是否有一种方法可以指定转换函数。(因为parcel似乎非常简单)

与preact类似,您只需在tsconfig中设置“jsxFactory”:“h”,然后从计划使用它的“inferno hyperscript”导入它

tsconfig:

{
  "compilerOptions": {
    "target": "es5",    
    "jsx":"react",
    "jsxFactory":"h",
    "lib":["dom","ESNext"],
    "module": "commonjs",    
    "strict": true,    
    "moduleResolution":"Node",
    "esModuleInterop": true,    
    "forceConsistentCasingInFileNames": true 
  },  
  "include":["src"]
}
在代码中使用:

import { h } from 'inferno-hyperscript';

function App() {
    return (
      <div className="App">
        Hello thar
      </div>
    );  
}

export default App;
从“inferno hyperscript”导入{h};
函数App(){
返回(
你好塔尔
);  
}
导出默认应用程序;
您可能会以类似的方式使用inferno创建元素,但我只尝试过htags

一个例子: