Vite Library模式打包后为什么多出.eslintrc.js文件?
在用Vite的Library模式打包组件库时,发现生成的dist目录里多了一个.eslintrc.js文件,但配置里没配置要包含它。尝试过设置assetsInclude排除,但还是会出现,这是什么情况?
我的vite.config.js配置是这样的:
export default defineConfig({
build: {
lib: {
entry: path.resolve(__dirname, 'src/index.js'),
name: 'MyLib',
fileName: (format) => `mylib.${format}.js`
},
rollupOptions: {
external: ['vue'],
output: {
globals: { vue: 'Vue' }
}
}
}
})
打包后的dist目录正常有umd/cjs/esm文件,但额外出现了.eslintrc.js和.eslintrc.js.map,导致部署时出错。清理过node_modules和缓存都没用,是不是Library模式有特殊配置?
.eslintrc.js文件被意外打包了。Vite 默认会把根目录的一些配置文件自动包含进去,尤其是 Library 模式下。解决方法:在
vite.config.js的build.rollupOptions中添加input明确指定入口文件,并通过output.assetFileNames控制资源输出,防止配置文件被复制过去。src目录下的所有文件都打包进去,包括隐藏文件(比如.eslintrc.js)。你现在的配置只处理了entry,但没限制输入源。代码给你:
另外,如果上面还不行,直接在项目根目录加个
.npmignore或.gitignore,写上:这样打包时就不会带上这些多余文件了。试一下吧,应该能解决。