Vite库模式打包后入口文件路径不对怎么办?
我在用Vite的库模式打包组件库时遇到了问题,配置了build.lib.name为”my-lib”,但生成的dist文件夹里只有vendor.js,没有预期的main.js入口文件。查看构建日志没报错,这是为什么呢?
尝试在vite.config.js里这样配置:
export default defineConfig({
build: {
lib: {
entry: path.resolve(__dirname, 'src/index.js'),
name: 'MyLib',
fileName: (format) => <code>my-lib.${format}.js</code>
},
rollupOptions: {
external: ['vue'],
output: {
exports: 'auto',
globals: { vue: 'Vue' }
}
}
}
})
但打包后文件结构是这样的:
dist/
my-lib.es.js
my-lib.cjs.js
my-lib.umd.js
vendor.js
明明指定了entry路径,为什么没有生成对应的main.js?umd格式文件能否直接引入使用?
fileName配置来的,既然你写了my-lib.${format}.js,那自然不会有单独的main.js。最简单的办法是直接在package.json里指定入口文件,比如这样:至于
umd格式,是可以直接通过<script>标签引入使用的,记得配置好全局变量名MyLib就行了。别折腾太多,按这个改完基本就能用了。