typescript-book-chinese icon indicating copy to clipboard operation
typescript-book-chinese copied to clipboard

jsx部分内容存在过时和错误

Open whinc opened this issue 5 years ago • 3 comments
trafficstars

译文:https://jkchao.github.io/typescript-book-chinese/jsx/nonReactJSX.html#jsxfactory

有两个问题:

  1. --jsxFactory 选项 tsc 已废弃(找不到该选项了),建议将该小标题添加废弃标识或说明。
  2. jsx 编译提示编译结果错误(原书也是错的),建议更正并添加说明
/** @jsx jsxFactory */
import { jsxFactory } from 'jsxFactory';

var div = <div>Hello JSX!</div>;

书中结果是:

'use strict';
var jsxFactory_1 = require('jsxFactory');
var div = jsxFactory_1.jsxFactory.createElement('div', null, 'Hello JSX!');

实际结果是(在 Typescript 3.8.3 编译器上运行),没有.createElement

"use strict";
/** @jsx jsxFactory */
var jsxFactory_1 = require("jsxFactory");
var div = jsxFactory_1.jsxFactory("div", null, "Hello JSX!");

重现链接: Playground Link

whinc avatar Mar 09 '20 13:03 whinc

谢谢,我稍后验证一下,没问题就加上。

jkchao avatar Mar 11 '20 00:03 jkchao

  1. --jsxFactory 这个选项没有被废弃,https://www.typescriptlang.org/docs/handbook/compiler-options.html 。
  2. 建议直接在本地跑 tsc,Playgroud 上没有部分编译选项。

我这边试了下,是正常的。

jkchao avatar Mar 11 '20 13:03 jkchao

  1. --jsxFactory 这个选项没有被废弃,https://www.typescriptlang.org/docs/handbook/compiler-options.html 。
  2. 建议直接在本地跑 tsc,Playgroud 上没有部分编译选项。

我这边试了下,是正常的。

本地 tsc 确实没有该选项,不过你发的这个文档链接确实有,可能是不推荐使用了吧

$ npx tsc --version
Version 3.8.3
$ npx tsc --help | grep 'jsx'
 --jsx KIND                                        

whinc avatar Mar 11 '20 14:03 whinc