我有以下适用于汇总的代码...
// rollup.config.js
import pkg from './package.json';
export default [{
input: pkg.src,
external: ['ms'],
output: [
{
file: pkg.main,
format: 'esm'
}
]
}];
我创建了一个项目来制作简单的UMD,CJS和ESM,所以现在我想制作代码...
import { getMJS } from "@jrg/build"
import pkg from './package.json';
export default [
getMJS(pkg)
];
但是当我尝试运行它时,我得到...
[!] Error: Must use import to load ES Module: /.../web-components/packages/base/node_modules/@jrg/build/dist/index.mjs
Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: /.../web-components/packages/base/node_modules/@jrg/build/dist/index.mjs
at Module.load (internal/modules/cjs/loader.js:1048:11)
我想念的是什么? @ jrg / build中的index.mjs文件是...
// node_modules/@jrg/index.mjs
import { string } from 'rollup-plugin-string';
const myString = string({
include: "**/*.(html|css|svg)"
})
const getMJS = function(pkg, plugins){
plugins = plugins || [ ];
plugins.push(myString);
return {
input: pkg.src,
plugins: plugins,
external: ['ms'],
output: [
{
file: pkg.main,
format: 'esm'
}
]
}
};
export { getMJS };
UPDATE
因此,如果我使用这样的CJS版本,它确实可以工作...
import * as build from "@jrg/build/dist/index.cjs"
export default [build.getMJS(pkg)];
但是如果我尝试更改为rollup.config.mjs
并运行rollup -c rollup.config.mjs
,则会得到...
[!] TypeError: defaultLoader is not a function
使用相对路径对我来说很有效...
import {getMJS, getUMD} from "../../node_modules/@jrg-material/build/dist/index.mjs"