首页 > 解决方案 > Rollup 不捆绑声明文件

问题描述

我正在尝试构建一个使用 TypeScript 制作的库。我正在使用中的paths属性tsconfig.json

我的tsconfig.json样子是这样的:

{
  "compilerOptions": {
    "module": "es2015",
    "moduleResolution": "node",
    "target": "es2015",
    "noImplicitAny": true,
    "removeComments": true,
    "preserveConstEnums": true,
    "experimentalDecorators": true,
    "sourceMap": true,
    "lib": [
      "esnext",
      "dom"
    ],
    "strict": true,
    "sourceRoot": "./src",
    "rootDir": "./src",
    "outDir": "build",
    "declaration": true,
    "declarationDir": "build",
    "baseUrl": "./src",
    "noUnusedLocals": true,
    "paths": {
      "modules/*": [
        "modules/*"
      ],
      "common/*": [
        "common/*"
      ]
    }
  },
  "exclude": [
    "node_modules",
    "build"
  ]
}

我的汇总配置如下所示:

import typescript from 'rollup-plugin-typescript2'

export default {
  entry: "./src/index.ts",
  output: {
    file: './build/index.js',
    format: 'cjs'
  },
  plugins: [
    typescript({ typescript: require("typescript"), declaration: true, clean: true })
  ]
}

但是,当我使用 构建时rollup -c,它会在我的构建文件夹中创建它:

在此处输入图像描述

index.js 捆绑得很好,但是这里的声明文件只是从/common文件夹中导入,并且该文件夹基本上包含目录中的所有其他文件夹,src但每个文件夹只有一个声明文件,此外,这些文件尝试使用导入别名而不是使用相对导入构建的paths,因此它们不起作用。

我如何告诉汇总构建单个声明文件而不是这个?

标签: node.jstypescriptbuildrollupjs

解决方案


rollup-plugin-typescript保留声明文件的文件夹结构。要捆绑声明,您也应该使用rollup-plugin-tshttps ://github.com/wessberg/rollup-plugin-ts


推荐阅读