【问题标题】:CommonJS syntax with rollup带有汇总的 CommonJS 语法
【发布时间】:2019-11-30 07:01:43
【问题描述】:

我正在开发一个轻量级汇总配置。出于某种原因,CommonJS 不会在输出中转换,而 ES 模块会。

我同时使用resolvecommonjs 汇总插件。

import resolve from 'rollup-plugin-node-resolve';
import commonjs from 'rollup-plugin-commonjs';
import { terser } from 'rollup-plugin-terser';


module.exports = {
  input: 'static/js/script.js',
  output: {
    file: '_site/static/js/script.js',
    format: 'iife'
  },
  plugins: [
    resolve(),
    commonjs(),
    terser(),
  ]
};
import { cube } from './components/component-1.js';
import { foo } from './components/component-2.js';
const camelCase = require('camelcase');

console.log(cube(3));
console.log(foo);
console.log(camelCase('foo-bar'));

有效

import camelCase from 'camelcase';

但是 CommonJS 不起作用

const camelCase = require('camelcase');

我是否需要传递任何其他配置才能使 CommonJS 语法正常工作?

【问题讨论】:

    标签: javascript commonjs rollup rollupjs


    【解决方案1】:

    您不能将 requireimport 与 rollup-plugin-commonjs 混合搭配。如果一个模块包含import,它将被视为ESM,而require 保持不变。

    【讨论】:

      猜你喜欢
      • 2017-03-19
      • 2021-02-21
      • 2019-04-20
      • 2021-09-25
      • 1970-01-01
      • 2020-08-15
      • 2018-03-16
      • 2011-09-17
      • 1970-01-01
      相关资源
      最近更新 更多