开发小程序时因为代码体积原因通常要把图片、字体等静态资源放到服务器上,但是app又不需要,网上的$xxx+‘静态资源路径’的写法太麻烦还对开发工具不友好,为了统一写法我找了好久的文档才想到解决方案,这个方案可以让我们直接使用src=’/static/images/xxx’,
(该方法会因为某些插件需要将package.json的type属性修改为commonjs而导致报错,即静态资源被打包成通过require方式引入)
首先在vite.config.js(vue2版是vue.config.js),${config[mode].imgNetwork}写你的域名。这里的意思是微信生产环境把字符串’/static/images’替换成域名+‘/static/images’
export default defineConfig(({
mode
}) => {
// 判断是否为微信
const isWX = mode === 'production' && process.env.UNI_PLATFORM === 'mp-weixin';
return {
plugins: [
uni(),
],
resolve: {
alias: {
'/static/images': `${config[mode].imgNetwork}/static/images`,
},
},
};
});
然后是manifest.json在“mp-weixin”对象里插入,这里的意思是打包时排除static/image文件夹(这里可能不生效;需要在hbuildx点击发布小程序,打包完了之后进入打包后的项目static/文件夹,手动删除image目录)
"optimization": {
"subPackages": true,
"exclude": [
"static/image/**"
]
}
2695

被折叠的 条评论
为什么被折叠?



