这个问题与为什么打字稿无法导入模块有关?,我昨天问的。初始设置是相同的。
我有一个像这样的简单打字稿文件:
/// <reference path="./typings/js-yaml/js-yaml.d.ts"/>
'use strict';
import * as y from 'js-yaml';
console.log(y);
当我这样编译时tsc --module commonjs file.ts
,打字稿很高兴。
但是,当我将 /// 引用移到“use strict”下方时,如下所示:
'use strict';
/// <reference path="./typings/js-yaml/js-yaml.d.ts"/>
import * as y from 'js-yaml';
console.log(y);
打字稿不高兴:
$ tsc --module commonjs file.ts
file.ts(4,20): error TS2307: Cannot find module 'js-yaml'.
Typescript 确实输出了一个编译文件,它与最初的输出相同,当然除了 /// 引用在第二种情况下的“use strict”之后。
这里发生了什么?