项目打包时,依赖与package.json中的dependencies和devDependencies并无关!!!
我曾这样认为了好久……
原来他们之间的关系是这样的:
项目打包的依赖来自于你import…from ‘xxx’,如无特殊设置,import的依赖都将被打包。
vite搭建的项目可通过如下配置,将不希望被打包的依赖排除:
export default defineConfig({
plugins: [vue(), vueJsx()],
build: {
outDir: 'dist/myProject',
rollupOptions: {
external: [
'ant-design-vue', // ant-design-vue为例
],
},
},
});
前提是要确保该依赖存在dependencies中或在使用当前项目myProject的项目中一定会被安装!
【扩展】dependencies与devDependencies
dependencies 属性用于声明应用程序的生产环境依赖项。这些依赖项在程序运行时需要被加载。通常这些依赖项指的是应用程序的核心功能和库。
devDependencies 属性用于声明应用程序的开发环境依赖项。这些依赖项在程序开发、测试、部署时需要被加载。通常这些依赖项指的是开发者编写代码所需的工具和库。