Babel 转换未由 rollup 应用

问题描述 投票:0回答:1

我想对 rollup 生成的代码应用一些 babel 转换。我想将 @rollup/plugin-babel 插件与 babel-plugin-import 一起使用,但它对 rollup 输出没有影响,我不知道我是否在 rollup 中做错了什么...

如果我使用 getBabelOutputPlugin(...) 输出会更改,但

import
插件不起作用。

汇总配置

import peerDepsExternal from 'rollup-plugin-peer-deps-external';
import resolve from '@rollup/plugin-node-resolve';
import commonjs from '@rollup/plugin-commonjs';
import typescript from 'rollup-plugin-typescript2';
import postcss from 'rollup-plugin-postcss';
import copy from 'rollup-plugin-copy';
import json from '@rollup/plugin-json';
import svgr from '@svgr/rollup';
import { babel } from '@rollup/plugin-babel';
import { visualizer } from 'rollup-plugin-visualizer';

import pkg from './package.json';

export default {
  input: 'src/index.tsx',
  output: [
    {
      file: pkg.main,
      format: 'cjs',
      exports: 'named',
      sourcemap: true,
    },
    {
      file: pkg.module,
      format: 'esm',
      exports: 'named',
      sourcemap: true,
    },
  ],
  plugins: [
    peerDepsExternal({
      includeDependencies: true,
    }),
    json(),
    svgr(),
    resolve({ extensions: ['.js', '.jsx', '.ts', '.tsx', '.json'] }),
    commonjs({
      include: /\**node_modules\**/,
    }),
    babel({
      babelHelpers: 'bundled',
    }),
    typescript({
      useTsconfigDeclarationDir: true,
      exclude: ['*.d.ts', '**/*.d.ts', '**/*.test.tsx'],
      rollupCommonJSResolveHack: true,
      clean: true,
    }),
    postcss({
      extensions: ['.css', '.less'],
      use: {
        less: { javascriptEnabled: true, modifyVars: {} },
      },
    }),
    visualizer({ filename: 'stats-visualizer.html', gzipSize: true }),
    copy({ targets: [{ src: 'src/styles/**/*', dest: 'dist/styles' }] }),
  ],
};

Babel 配置

// babel.config.js

module.exports = {
  plugins: [['import', { libraryName: 'antd', libraryDirectory: 'lib' }, 'antd']],
};

javascript babeljs rollupjs
1个回答
0
投票

您缺少扩展程序

babel({
  babelHelpers: 'bundled',
  extensions: ['.ts', '.mjs', '.js']
}),
© www.soinside.com 2019 - 2024. All rights reserved.