TypeScript - TSC:为什么引入模块声明会影响 outFile 的内容?
tsconfig.json:
{
"compilerOptions": {
"allowJs": true,
"forceConsistentCasingInFileNames": true,
"module": "amd",
"target": "es3",
"declaration": false,
"noImplicitAny": false,
"outFile": "built/index.js",
"sourceMap": true,
"moduleResolution": "node",
"baseUrl": "./node_modules"
},
"include": [
"index.ts",
"ol4-lab",
"typings/index.d.ts"
]
}
代码:
import Map from "ol/map";
产生:
define("ol4-lab/examples/index", ["require", "exports", "node_modules/ol/map", "node_modules/ol/layer/tile", ...
但是引入这个声明会影响生成的代码:
declare module "ol/map" {
export default ol.Map;
}
现在它产生:
define("ol4-lab/examples/index", ["require", "exports", "ol/map", "node_modules/ol/layer/tile",
请注意,“ol/map”中的“node_modules/”已被删除。
问题:这是缺陷还是设计如此,如何避免?