• 渭河
    2020-01-06
    老师可惜详细的讲一下esModuleInterop true配置具体做什么嘛

    作者回复: 背景:很多库使用了 CommonJS 的导出方式,如 module.exports=a,这样会导致使用ES的方式导入时失败,如 import a from 'X'。因为ES会默认访问 a 的 default 属性。TypeScript 为了兼容,引入了 esModuleInterop 选项,在编辑时自动添加default属性。
    用法:当 module 指定为 commonjs 时,设置 esModuleInterop 为 true 即可。

    
    
  • 南
    2019-12-25
    tsc ./src/02-project/01-module/es6/a.ts -t es6 运行这个命令后,各种报错
    ode_modules/_@types_babel__core@7.1.3@@types/babel__core/index.d.ts:13:20 - error TS2307: Cannot find module '@babel/types'.
    node_modules/_@types_babel__core@7.1.3@@types/babel__core/node_modules/@types/babel__template/index.d.ts:9:31 - error TS2307: Cannot find module '@babel/parser'.

    9 import { ParserOptions } from "@babel/parser";
    展开

    作者回复: 课程在这里有处遗漏,说明一下:
    在命令行中指定了 target 为 es6,tsc 就会默认使用 Classic 模块解析策略,这个策略对于
        import * as t from "@babel/types";
    这种非相对路径的导入,不能正确解析。
    解决方法就是指定解析策略为 Node,比如:
        tsc ./a.ts -t es6 --moduleResolution node
    关于解析策略,详见第27讲。

    
    
  • 高瑞
    2019-11-29
    为什么有的系统语言使用import * as React from 'react';有的系统语言使用import React from 'react';

    作者回复: 第一种写法是将所有用export导出的成员绑定在React上,导入后用React.xxx访问;第二种仅是导出默认的(export default)

    
    
  • 拯救不开心
    2019-09-29
    老师,11.03说,target是es3,es5,module默认就是es6,
    后面又说,es3 默认的module是commonJS,
    因为是口误吧。。。

    作者回复: 嗯,命令行中 target为es3/5,module默认为commonjs

    
    
  • developer_hsl
    2019-09-15
    这里运行 tsc ./src/es6/a.ts -t es6
    为什么会报如下错误, 和老师不一样, 是不是哪里没跟上;
    node_modules/@types/uglify-js/index.d.ts:9:30 - error TS2307: Cannot find module 'source-map'.

    作者回复: 安装一下 @types/source-map 就行了

     3
    
  • eclipse
    2019-09-08
    1分44秒,第七行代码,这里应该不是放到一个“对象”中导出吧,应该是es6模块的语法,比如你
    export {
      a: { b }
    }
    这样是不行的

    作者回复: 这里的对象是指 {b, c} ,即 {b: b, c: c},没有问题

    
    
  • 野原
    2019-08-23
    老师,github上源码里面的package.json内容是不是不全?我在安装ts-node之后执行 ts-node ./src/node/c.node.ts 终端就会报错找不到 @babel/types @babel/parser source-map等等

    作者回复: 这节课运行的是 ts-base 工程,需要先全局安装ts-node,并不会依赖babel啊

     1
    
  • 东丰瑞雪建华年
    2019-08-10
    import,commonjs是modular思想的实现
    
    
  • kgdmhny
    2019-08-03
    老师请问一下, let c1 = require("./a.node"); 如果在a.node.ts 文件中 module.exports = a,b,function1; 那c1 是什么?

    作者回复: 我很想回答你,但为什么不自己手动试一下呢:),这样理解才深刻,然后遇到问题再来问。

     1
    
  • kgdmhny
    2019-08-03
    老师,请问一下,如果一个文件中沒有使用export关键字,是不是就不是一个模块。只要使用了一个export,就可当作一个模块了,文件里定义的变量就不会对外造成变量污染了

    作者回复: 文件中只要有 import 或 export ,这个文件就是一个模块

    
    
我们在线,来聊聊吧