我在用rollup打包组件库问题
我在用rollup打包组件库,在引入npm 包的时候,用es module, 会报错, 然后我换成commonjs方式还是会报错

全部换成esmodule然后执行还是报错,
node 版本是16.14.2
我git地址 https://github.com/keepzc/kpzc-lego-components
老师能帮我看看么
18
收起
正在回答
1回答
同学你好,
原因是你在本地中,并没有安装对应的 rollup 依赖啊,然后使用的是全局安装的 rollup,造成的错误。我尝试这样的做法:
// 本地安装对应的依赖
npm install rollup@2.78.0 --save-dev
//替换成 es modules
import vue from 'rollup-plugin-vue'
import css from 'rollup-plugin-css-only'
import typescript from 'rollup-plugin-typescript2'
import { nodeResolve } from '@rollup/plugin-node-resolve'
// eslint-disable-next-line @typescript-eslint/no-var-requires
const config = require('../package.json')
const { name } = config
const overrides ={
compilerOptions: {
declaration: true,
},
exclude:[
"node_modules",
"src/App.vue",
"src/main.ts"
]
}
const file = type => `dist/${config.name}.${type}.js`
export { name, file }
export default {
input: 'src/index.ts',
output: {
name,
file: file('esm'),
format: 'es'
},
plugins: [
nodeResolve(),
typescript({ tsconfigOverride: overrides }),
vue(),
css({ output: 'bundle.css' })
],
external: ['vue', 'lodash-es']
}
//esm 配置
import basicConfig, { name, file } from './rollup.config'
console.log(file)
export default {
...basicConfig,
output: {
name: name,
file: file('esm'),
format: 'es'
}
};打包成功

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星