首页 > 解决方案 > 汇总集输入之外的文件

问题描述

我使用汇总作为我的组件库的模块捆绑器,当我运行它并定位时:

src/index.ts

在里面

rollup.config.js

一切正常。

在我的库的根文件夹中,rollup.config.js 所在的位置也有example文件夹。在这个示例文件夹中,我的项目显示了库的示例用法,并且也有 node_modules。

我意识到,当我破坏example/文件夹中的一些 node_modules 并尝试构建我的库汇总时会抛出一个错误,即它没有在示例文件夹中找到一些丢失的文件。例如

[!](插件打字稿)错误:找不到文件'example/example-proj/node_modules/gl-matrix/types.d.ts'。

但是,这意味着汇总也捆绑了我的示例文件夹。但我的汇总配置src/index.ts仅针对。并且那里没有对示例文件夹的引用。Rollup.config.js:

import resolve from '@rollup/plugin-node-resolve'
import external from 'rollup-plugin-peer-deps-external'
import commonjs from '@rollup/plugin-commonjs'
import typescript from 'rollup-plugin-typescript3'
import packageJson from './package.json'
import postcss from 'rollup-plugin-postcss';
import autoprefixer from 'autoprefixer';

export default {
  input: 'src/index.ts',
  output: [
    {
      format: 'cjs',
      file: packageJson.main,
      exports: 'named',
      sourcemap: true
    },
    {
      format: 'es',
      file: packageJson.module,
      exports: 'named',
      sourcemap: true
    }
  ],
  plugins: [
    resolve(),
    external(),
    commonjs({
      include: ['node_modules/**'],
    }),        
    typescript({
      clean: true,
      rollupCommonJSResolveHack: true,
      exclude: ['node_modules'],
    }),
    postcss({
      plugins: [autoprefixer()],
      inject: { insertAt: 'top' },
      sourceMap: true      
    }),
  ]
}

有关 proj 结构的一些信息:

src/index.ts
src/components/
package.json
tsconfig.json
rollup.config.js
example/
example/example-proj/node_module
...

这可能使我的项目很重而且也不正确。为什么会发生这种情况?提前致谢。

标签: reactjsrollup

解决方案


推荐阅读