You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
如果一个esm的包里使用了require来导入css文件,就会有如下报错:Uncaught Error: Dynamic require of "xxx/main.scss" is not supported, when ESM package import commonjs module
在vite里也有相应的issue,可以通过插件@originjs/vite-plugin-commonjs来解决
区分开发和生产环境
在打包的时候,将产物的静态资源路径替换成
cdn
路径前缀通过
process.env.NODE_ENV
是否是production
来判断,开发的时候环境变量可能为空,导致开发路径不符合预期cdn插件
不打包
react
这些第三方库,直接通过相应的cdn
链接来引入解析需要处理的模块配置,读取其在
node_modules
里的版本,通过rollup-plugin-external-globals
插件来转换打包代码,然后通过vite
提供的transform
钩子插入script
标签来引入cdn
资源第三方库解析问题
如果一个
esm
的包里使用了require
来导入css
文件,就会有如下报错:Uncaught Error: Dynamic require of "xxx/main.scss" is not supported, when ESM package import commonjs module
在
vite
里也有相应的issue,可以通过插件@originjs/vite-plugin-commonjs
来解决如果引入一个第三方库遇到一堆莫名其妙的报错,可能是该库的打包方式有些问题,可以通过
esbuildCommonjs
处理该第三方库的依赖来解决通过
optimizeDeps.include
拆包默认情况下,不在 node_modules 中的,链接的包不会被预构建。使用该配置项可强制预构建链接的包
如果填写第三方库的依赖,可以进行拆包处理
原本在
node_modules
的.vite
下只会有一个xxxxx
,在拆包之后就会是xxxxx_dep1
、xxxxx_dep2
的形式The text was updated successfully, but these errors were encountered: