首页 > 解决方案 > 使用模块 es6 编译库项目,但仍然支持使用模块 none 的项目

问题描述

我有一个项目使用 typescript 并将模块选项设置为 none。

我使用命名空间,所有捆绑都是使用 .NET MVC 捆绑包完成的。

这个项目使用了我以相同方式开发的几个库。

现在,我想升级这些库以使用 es6 模块,而不会失去对我的“无模块”项目的支持。

我已经更新了我的 tsconfig.json,现在它看起来像下面的代码片段:

{
    "compilerOptions": {
        "target": "es5",
        "module": "es6",
        "moduleResolution": "node",
        "sourceMap": true,
        "outDir": "dist",
        "declaration": true
    },
    "include": [
        "app/**/*.ts"
    ],
    "compileOnSave": true
}

我已经更新了要使用的代码export/import

而且我可以使用 gulp 生成具有相同结构的库来移动资产。

但是,一旦我将库新代码复制到项目中,我就会收到错误,因为生成的 d.ts 包含export语句。

如何设置 TS 编译器以友好的“无模块”方式生成 d.ts?

标签: typescriptes6-modules

解决方案


推荐阅读