带汇总的 CommonJS 语法
CommonJS syntax with 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 语法正常工作?
您不能将 require
和 import
与 rollup-plugin-commonjs 混合搭配。如果一个模块包含 import
它被视为 ESM,并且 require
保持不变。
我正在研究轻量级汇总配置。出于某种原因,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 语法正常工作?
您不能将 require
和 import
与 rollup-plugin-commonjs 混合搭配。如果一个模块包含 import
它被视为 ESM,并且 require
保持不变。