我正在做一个轻量级的rollup配置。由于某些原因,CommonJS不会在输出中转换,而ES模块则会转换。
我同时使用resolve和commonjs汇总插件。
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语法工作?
发布于 2019-07-22 15:21:12
您不能将require和import与混为一谈。如果一个模块包含import,它将被视为ESM,而require则保持不变。
https://stackoverflow.com/questions/57143705
复制相似问题