首页 > 解决方案 > RollupJS 只生成 index.js

问题描述

我在使用RollupJS时遇到了一些麻烦。

我有一个使用 typescript 、 react 、 AntDesign 的组件使用汇总

这是我的汇总配置:

import babel from 'rollup-plugin-babel';
import commonjs from 'rollup-plugin-commonjs';
import postcss from 'rollup-plugin-postcss';
import typescript from 'rollup-plugin-typescript2';
import peerDepsExternal from 'rollup-plugin-peer-deps-external';
import url from 'rollup-plugin-url';
import postcssModules from 'postcss-modules';
import pkg from './package.json';

const cssExportMap = {};

export default {
  input: 'src/index.ts',
  output: [
    {
      file: pkg.main,
      format: 'cjs',
      exports: 'named',
      sourcemap: true,
    },
    {
      file: pkg.module,
      format: 'es',
      exports: 'named',
      sourcemap: true,
    },
  ],
  external: [
    {
      'react': 'react',
      'react-dom': 'react-dom'
    },
    // Make antd library styles to be external to current project
    /^antd[.]*/,
  ],
  plugins: [
    peerDepsExternal(),
    url(),
    typescript({
      exclude: ['*.d.ts', '**/*.d.ts', '**/*.stories.tsx', '**/*.spec.tsx'],
      rollupCommonJSResolveHack: true,
      clean: true,
    }),
    babel({
      babelrc: false,
      plugins: [['import', { libraryName: 'antd', style: true }]],
      extensions: ['.js', '.jsx', '.ts', '.tsx'],
      exclude: 'node_modules/**',
    }),
    commonjs({
      include: 'node_modules/**'
    }),
    postcss({
      plugins: [
        postcssModules({
          getJSON (id, exportTokens) {
            cssExportMap[id] = exportTokens;
          }
        })
      ],
      getExportNamed: false,
      getExport (id) {
        return cssExportMap[id];
      },
      extract: 'build/styles.css',
      use: ['sass', ['less', { javascriptEnabled: true, modifyVars: {
        'hack': `true; @import "./public/theme/variables.module.less"`
      }}]]
    })
  ],
}; 

我的 package.json 有一些脚本:

    "build": "rollup -c",
    "prepare": "yarn run build"

在本地一切正常,所有文件都生成了。

但是当我在 create-react-app 应用程序中使用我的库作为依赖项时。

"ui-kit": "git+https://****:x-oauth-basic@github.com/****/ui_kit_fe.git"

rollup 只在 build 文件夹中生成 index.js,

它应该是: - style.css - index.es.js - index.js.map

但他们不在那里......

标签: javascriptrollupjs

解决方案


推荐阅读